我有以下表格,我想覆盖manytomanyfield 我准备了一个自动完成的小部件。
class AutoCompleteForeignKeyWidget(forms.TextInput):
input_type = 'text'
class FooForm(forms.ModelForm):
regions = forms.CharField(widget=AutoCompleteForeignKeyWidget(attrs={
'class': 'regions', 'placeholder': 'Type Region',
'autocomplete': 'off'
}), required=True)
class Meta:
model = Hotel
exclude = ('regions')
但这不成功。我得到完整性错误DETAIL: Key (region_id)=(0) is not present in table "destinations_region".
有没有办法覆盖manytomanyfield
答案 0 :(得分:0)
如果我错了,请纠正我,但这不起作用,因为浏览器会将输入的内容作为表单字段值发送。
这意味着django会收到region ='Some region name'。但是Django ManyToManyField用于处理主键列表,例如[1,2,3]
,其中1
是第一个选定区域的PK,依此类推。
我建议你使用autocomplete app,这会让它变得更容易。