我在django中有一个使用选项的字段的简单模型。就像现在一样,我被迫使用其中一个可用选项,我如何能够使用这些选项并且还能够手动输入文本?
WHERE_CHOICES = (
('CHL', 'Center HL'),
('CHD', 'Center HD')
)
class Event(models.Model):
ev_start = models.DateTimeField()
ev_end = models.DateTimeField()
where = models.CharField(max_length=3, default='CHL', choices=WHERE_CHOICES)
由于
答案 0 :(得分:0)
您可以使用datalist
标记覆盖管理表单字段小部件。
看起来像那样(使用floppyforms
库):
class EventAdminForm(ModelForm):
class Meta:
model = Event
fields = "__all__"
widgets = {
'where': floppyforms.widgets.Input(datalist=[v[0] for v in Event.WHERE_CHOICES])
}
class EventAdmin(admin.ModelAdmin):
form = EventAdminForm
admin.site.register(Event, EventAdmin)