我有一个名为DemoForm
的表单,它与模型Demo
相关
class Demo(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
ans = models.CharField(max_length=1024)
字符串
它的形式是
class DemoForm(forms.ModelForm):
class Meta:
model = Demo
exclude = ('user',)
widgets = {'ans': forms.CheckboxSelectMultiple}
型
我想使用queryset
来呈现这个表单,我尝试了不同的方法,
form = DemoForm(initial=Love.objects.filter(user=request.user))
<form=GoodForm()
form.fields["ans"].queryset = Love.objects.filter(user=request.user) >
form=DemoForm(instance=Love.objects.filter(user=request.user)
form=DemoForm(instance=request.user.love_set.all())
型
有时它显示no _Meta present
,当我使用initial时,它显示expected length 2 got 1 (got 3)
注意-Love
模型与user的关联方式与Demo
使用ForeignKey
与user的关联方式相同。意味着Love
模型是Demo
模型的副本。因此查询返回嵌套对象
1条答案
按热度按时间nfzehxib1#
您可以使用
CheckboxSelectMultiple
和CheckboxSelectMultiple
小部件来填充带有多选复选框的charfield数据,并根据需要覆盖initmwthod中的选择字段。字符串
你可以简单地使用表格在您的views.py,对于FBV
型