Я пытаюсь использовать ModelForm для добавления моих данных. Он работает хорошо, за исключением того, что выпадающий список ForeignKey показывает все значения, и я хочу, чтобы он отображал значения, которые уместны для зарегистрированного пользователя.
Вот моя модель для ExcludedDate, запись, которую я хочу добавить:
class ExcludedDate(models.Model):
date = models.DateTimeField()
reason = models.CharField(max_length=50)
user = models.ForeignKey(User)
category = models.ForeignKey(Category)
recurring = models.ForeignKey(RecurringExclusion)
def __unicode__(self):
return self.reason
Вот модель для категории, которая представляет собой таблицу, содержащую отношения, которые я хотел бы ограничить пользователем:
class Category(models.Model):
name = models.CharField(max_length=50)
user = models.ForeignKey(User, unique=False)
def __unicode__(self):
return self.name
И, наконец, код формы:
class ExcludedDateForm(ModelForm):
class Meta:
model = models.ExcludedDate
exclude = ('user', 'recurring',)
Как мне получить форму для отображения только подмножества категорий, где category.user равно зарегистрированному пользователю?