Django - ChoiceField - 选项按钮而不是选择框

时间:2010-11-19 16:33:24

标签: django django-models django-admin

是否可以显示选项按钮而不是ChoiceField的选择框(在管理界面中)?有什么建议吗?

3 个答案:

答案 0 :(得分:6)

以下ModelAdmin子类(在您的admin.py中)执行您所追求的目标:

class PersonAdmin(admin.ModelAdmin):
    radio_fields = {"group": admin.VERTICAL}

HORIZONTAL也是可能的。

来自Django docs

答案 1 :(得分:1)

对于给定选项列表的表单,有一个snippet on djangosnippets似乎做了类似的事情,但它似乎并没有专门为管理应用程序执行此操作。您可以利用这个或其中的想法来完成剩下的任务。

答案 2 :(得分:1)

在您的admin.py中创建一个ModelAdmin类:

from django.contrib import admin
from django.forms.widgets import RadioSelect ## originally had mistake of django.forms.extras.widgets

class SomeModelAdmin(admin.ModelAdmin):
    formfield_overrides = {
         models.ChoiceField : dict(widget = RadioSelect) 
     }

admin.site.register(SomeModel, SomeModelAdmin)

我不确定“选项按钮”是什么意思而不是选择框,但这是你改变它的方式。您可以在此处找到合适的小部件:http://docs.djangoproject.com/en/dev/ref/forms/widgets/