首页 > 解决方案 > 使用数据库中存在的数据呈现 CheckBoxSelectMultiple 表单。[初始值是来自数据库的查询集]

问题描述

我有一个名为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,当我使用初始时,它会显示expected length 2 got 1 (got 3)

注意 -模型与用户的关联方式与用户使用Love的关联方式相同。表示模型是模型的副本。所以查询返回嵌套对象DemoForeignKeyLoveDemo

标签: djangodjango-modelsdjango-formsdjango-views

解决方案


推荐阅读