2011-04-21 36 views
0

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

+0

你在寻找一个动态的解决方案,比如它被变灰或直到男性选择不显示? – 2011-04-21 21:29:45

+0

@j_sqyk是的,这将是理想的。 – ghickman 2011-04-21 21:32:28

回答

5

听起来像你会需要一些JavaScript。 您可以通过添加一点到您的admin.py文件来做到这一点。 看看这个:

ModelAdmin Media Defniitions - 有时候,你想 了CSS和/或JavaScript的增加 的添加/修改意见。这可以通过使用您的ModelAdmin媒体内 类中 完成:

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