我有下面的表单,我想用我准备的一个自动完成的小部件覆盖很多字段。
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".是否有方法覆盖许多任意字段
发布于 2013-05-06 18:48:06
如果我错了,请纠正我,但这是不起作用的,因为浏览器会将输入内容作为表单字段值发送。
这意味着django将收到region = 'Some region name‘。但是Django ManyToManyField的目的是使用主键列表,比如[1,2,3],其中1是第一个选定区域的PK,依此类推。
我建议您使用autocomplete app,这将使它变得更容易。
https://stackoverflow.com/questions/16396958
复制相似问题