我有一个模型表单,我通过AJAX发布表单。其中一个字段是manymany字段,我将其呈现为复选框。默认情况下,django使用传入的查询集中模型的PKs。是否有办法使用模型的另一个字段作为值,而不是PK值。(我把PK设为整数——这是有原因的。我还有一个UUID字段,它不是PK,我想用它来表示值)
在你的模型表单中明确定义你的uuid字段并传递额外的to_field_name="uuid_field"
参数,所以当你渲染你的表单时,你的html选择输入的option
将被渲染为:
<option value="obj.uuid_field">Model Instance</option>
示例模型形式:
class YourModelForm(forms.ModelForm):
uuid_field = forms.ModelChoicefield(
queryset=Model.objects.all(),
to_field_name="uuid_field"
)
class Meta:
model = YourModel
fields = '__all__'
更多信息见文档