【发布时间】:2019-02-19 22:53:55
【问题描述】:
如何使用列表中的ModelChoiceField在OPTION和VALUE OPTION e中选择相同的值?
我需要queryset返回选择列表和VALUE相同的值的选项
型号
class Produto(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
nome = models.CharField(max_length=255)
referencia = models.CharField(max_length=50)
def __str__(self):
return self.nome + ' - ' + self.referencia
表格
class FormItem(forms.Form):
produto = forms.ModelChoiceField(queryset=None, label='Produto', widget=forms.Select(attrs={'placeholder': 'Produto', 'class': 'input select2'}))
def __init__(self, *args, **kwargs):
super(FormFaturaItem, self).__init__(*args, **kwargs)
self.fields['produto'].queryset = Produto.objects.all()
表单结果
<select>
<option value="dd3e2aff-924d-4945-9929-3d37b81b3ebb">KIT MATERNIDADE - 9049</option>
</select>
预期结果
<select>
<option value="KIT MATERNIDADE - 9049">KIT MATERNIDADE - 9049</option>
</select>
【问题讨论】:
-
选项
value应该是该模型的主键 (uuid)。您是否尝试过将FormItem更改为forms.ModelForm?如果这些都不起作用,您能否详细说明您想要完成的工作? -
我希望在“预期结果”中描述结果
-
是的,但为什么呢?你能分享一下这个表单正在发布的观点吗?
-
表格不是帖子。这是在提交表单之前加载项目列表的初始日期。此列表是从数据库中加载的。
标签: python django python-3.x django-forms