在django中,默认情况下,模型外键的表单是ModelChoiceField(您可以从中选择所有可能模型的列表)。并且可以使用查询集属性更改它们,例如
//在forms.py
中self.fields ['possible_cars']。queryset = somequeryset
但我的情况是我有一个东西列表,而不是一个查询集,并且由于无法将列表转换为查询集,我不知道如何使我的ModelChoiceField类似的选项到我想要的模型列表。 (因为它们默认采用查询集,我假设他们从该查询中获取了一个列表,所以这种事情应该是可能的。)
我尝试了self.fields ['possible_cars'] ._ choices = mylist,但它不起作用。
任何想法的人?
答案 0 :(得分:2)
假设您的字段采用Car
查询集,您可以构建如下内容:
mylist = ['BMW', 'Lamborghini', 'Porsche']
cars = Car.objects.filter(name__in=mylist)
self.fields['possible_cars'].queryset = cars