我已經在我的形式之一如下:Django的查詢集
self.fields['advisor'].queryset = User.objects.filter(groups__name='advisor')
唯一的問題是,它顯示在下拉框中username
。我想要做的是顯示first_name
,然後last_name
,使其更具人性化。
任何想法?
我已經在我的形式之一如下:Django的查詢集
self.fields['advisor'].queryset = User.objects.filter(groups__name='advisor')
唯一的問題是,它顯示在下拉框中username
。我想要做的是顯示first_name
,然後last_name
,使其更具人性化。
任何想法?
的ModelChoiceField
有label_from_instance
方法,該方法可以在子類更改爲使用其他的東西比模型__unicode__
方法。 https://docs.djangoproject.com/en/1.3/ref/forms/fields/#django.forms.ModelChoiceField.empty_label
根據這一doc,試試這個快速和骯髒的代碼:
u = User.objects.filter(groups__name='advisor')
self.fields['advisor'].queryset = u.get_first_name_display() + " " + u.get_last_name_display()
哼哼......它不喜歡'get_first_name_display()' – Sevenearths
請編輯您的文章添加用戶的模型。 – Yohann
這是django附帶的默認用戶 – Sevenearths
我瞭解這些文檔是怎麼說的,但是如何在'forms.py'中使用它? – Sevenearths
謝謝...我現在明白了。我可以用'advisor = UserModelChoiceField(queryset = User.objects.filter(groups__name ='advisor'))''在'forms.py'中實現它。感謝:http://stackoverflow.com/a/2959870/563247 – Sevenearths