Всем привет есть вот такая вот модель:
class Booking(models.Model):
full_name = models.CharField(
u'ФИО',
max_length=128,
default=u'[читатель]',
)
author = models.CharField(
verbose_name=u'автор',
max_length=128,
)
title = models.CharField(
verbose_name=u'заглавие книги/журнала',
max_length=128,
)
library = models.ForeignKey(
Library,
verbose_name=u'библиотека',
)
comment = models.TextField(
verbose_name=u'комментарий',
blank=True,
null=True,
)
created_at = models.DateTimeField(
verbose_name=u'запрос отправлен',
auto_now_add=True,
)
updated_at = models.DateTimeField(
verbose_name=u'последнее изменение',
auto_now=True,
)
is_booking = models.CharField(
verbose_name=u'бронирование',
max_length=7,
choices=(
('undec', u'Нет решения'),
('allow', u'Забронировано'),
('dec', u'Бронирование невозможно')
),
default='undec',
)
decision_email = models.BooleanField(
verbose_name=u'письмо отправлено',
default=False,
editable=False
)
email = models.EmailField(
u'электонная почта',
max_length=128
)
И модель Library:
class Library(models.Model):
title = models.CharField(
max_length=120,
verbose_name=u'название'
)
slug = models.SlugField(
verbose_name=u'URL'
)
lead = models.CharField(blank=True, null=True, max_length=120, editable=False, verbose_name=u'Краткое описание')
description = models.TextField(verbose_name=u'Полное описание', default=u'', null=True, editable=False)
photo = FileBrowseField(directory='library_photo', max_length=255, blank=True, null=True, editable=False, verbose_name=u'Фотография')
address = models.CharField(
verbose_name=u'Адрес',
max_length=220,
default=u'',
blank=True,
null=True,
)
Собственно задача какова: в шаблоне в форме нужно Вывести список объектов library при условии что одна библиотека не участвует в выборке по определенному условию, это условие в модели никак не учитывается. Вопрос собственно как лучше решить задачу:
1. В ForeignKey через аргумент limit_choices_to, но тогда я не понимаю как сделать выборку
2. В модели добавить свойство которое можно использовать при задании условия, но стоит ли? Ведь выборку нужно сделать только один раз на проекте на всем
Может еще варианты подскажете?