2011-06-24 78 views
1

我有一個存儲用戶的模型:選擇特定用戶

class SubItem(models.Model): 
    created = models.DateTimeField(default=datetime.now) 
    created_by = models.ForeignKey(User) 

我在身份驗證管理部分一組名爲「顧問」。我如何只顯示django創建的下拉菜單中的顧問。 (我有一種感覺,我必須忽略forms.py中的init

回答

1

我從這個link,只有在一個套組羣選擇用戶需要發現在表單級別

class SubItemForm(ModelForm): 

    def __init__(self,user,*args,**kwargs): 
     super(SubItemForm, self).__init__(*args, **kwargs) 
     self.fields['advisor'].queryset = User.objects.filter(groups__name='advisor') 

予以強制執行,我希望這可以幫助別人

2

您正在尋找limit_choices_to參數。

例子:

class SubItem(models.Model): 
    created = models.DateTimeField(default=datetime.now) 
    created_by = models.ForeignKey(User, 
     limit_choices_to={'group': 'advisors'}) 
+0

如果我對模型進行了更改,是否必須重新同步我的數據庫? – Sevenearths

+1

@Sevenearths:不需要重新同步幸運,你可以玩弄它,它應該改變生活在管理和模型。 – Wolph

+0

謝謝你 – Sevenearths