Django管理页面组合框,可能吗?

时间:2017-04-20 12:58:56

标签: django django-models django-forms

我在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)

由于

1 个答案:

答案 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)