Django Admin:我可以创建一个只有在同一模型的前一个字段中选择了特定选项时才能使用的字段吗?

时间:2011-04-21 21:23:33

标签: python django

我希望能够根据同一模型上前一个字段中选择的内容设置对一个字段的访问权限。理想情况下,它可以在管理界面中使用。

我的模型看起来像这样:

GENDER_CHOICES = (
    ('f', 'Female'),
    ('m', 'Male'),
)

class Animal(models.Model):
    name = models.CharField(max_length=255)
    gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
    is_castrated = models.BooleanField()

    def __unicode__(self):
        return self.name

我是否可以将访问权限(尤其是管理员)限制为is_castrated字段,以便仅在用户从性别字段中选择Male时才可以访问?

1 个答案:

答案 0 :(得分:5)

听起来你需要一些javascript。 您可以通过向admin.py文件添加一个位来完成此操作。 看看这个:

  

ModelAdmin Media Defniitions -   有时你想要   添加一些CSS和/或JavaScript   添加/更改视图。这可以   通过使用Media inner完成   您的ModelAdmin上的课程:

class ArticleAdmin(admin.ModelAdmin):
    class Media:
        css = {
             "all": ("my_styles.css",)
         }
        js = ("my_code.js",)