我有一个名为 Movie 的模型,它有一个名为 Director 的 ManyToManyField 到一个名为 Person 的模型,我正在尝试使用 ModelChoiceField 创建一个表单,如下所示:
class MovieSearchForm(forms.Form):
producer = forms.ModelChoiceField(label='Produced by',
queryset=movies.models.Person.producer_set,
required=False)
但这似乎无法编译(我得到了使用表单的视图的 ViewDoesNotExist 异常,但如果我只是用所有人员对象替换查询集,它就会消失),我猜是因为'.producer_set'评估得太早了。我怎样才能得到这份工作?
以下是电影/人物类的相关部分:
class Person(models.Model):
name = models.CharField(max_length=100)
class Movie(models.Model):
...
producer = models.ForeignKey(Person, related_name="producers")
director = models.ForeignKey(Person, related_name="directors")
我想要做的是让曾经在某些电影的制片人领域使用过的人。