无线电选择用于在模型管理员中选择多个默认值

时间:2012-03-30 23:16:01

标签: django django-models django-admin

我有一个相当简单的外键关系,显示在Django管理员的内联中:

# models
class Profile(models.Model):
    name = models.CharField(max_length=30)

class EmailAddress(models.Model):
    address = models.EmailField()
    is_default = models.BooleanField()

# admins
class ProfileAdmin(admin.ModelAdmin):
    class EmailAddressInline(admin.TabularInline):
        model = EmailAddress

    inlines = (EmailAddressInline,)

我只想使用管理页面上的单选按钮,只能选择一个的电子邮件地址is_default

这可能吗?

1 个答案:

答案 0 :(得分:0)

我认为这可能是设计糟糕的情况。您应该将默认电子邮件的ID存储在配置文件表中,这样您就可以确保数据库和程序级别的一个配置文件的两个电子邮件地址不会设置为默认值。考虑改变数据库结构。