【发布时间】:2016-12-28 05:13:43
【问题描述】:
我正在尝试将 postgresql ArrayField 显示为用户可以提交数据的表单中的多个输入字段。
假设我有一个模型:
class Venue(models.Model):
additional_links = ArrayField(models.URLField(validators=[URLValidator]), null=True)
表单正在使用:
class VenueForm(forms.ModelForm):
class Meta:
model = Venue
exclude = ['created_date']
widgets = {
'additional_links': forms.Textarea(),
}
如何让 ArrayField 在 ModelForm 中使用 SplitArrayField?
我试过了:
class VenueForm(forms.ModelForm):
additional_links = SplitArrayField(forms.TextInput(), size=5, remove_trailing_nulls=True)
class Meta:
..
在 Meta 类小部件中也是如此:
widgets = {
'additional_links': forms.SplitArrayField(forms.TextInput(), size=3, remove_trailing_nulls=True)
}
我也尝试了不同的表单输入/字段,但我总是收到以下错误:
/lib/python3.5/site-packages/django/contrib/postgres/forms/array.py", line 155, in __init__
widget = SplitArrayWidget(widget=base_field.widget, size=size)
AttributeError: 'TextInput' object has no attribute 'widget'
【问题讨论】:
标签: python django postgresql python-3.x