2011-04-21 35 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",) 
相關問題