2
我使用Django的用戶管理與UserProfiles組合使用ForeignKeys鏈接到用戶模型。現在,我想從UserAdmin中搜索用戶配置文件中的字段。熱點添加在UserProfile中搜索Django中UserAdmin的功能| search_fields w/ForeignKey
我最好的猜測是,用戶是這樣的:
class UserAdmin(auth.admin.UserAdmin):
def field_name(self, obj):
return obj.get_profile().name
list_display = ('field_name',)
search_fields = ('field_name',)
而list_display工作正常,search_fields提交查詢時,給了我一個錯誤信息:無法解析關鍵字「FIELD_NAME」到現場。選擇是:[...]
你有什麼線索怎麼做?先謝謝你。
真正的問題是,'auth_user'表沒有一個ForeignKey的剖面模型,但反過來。用戶模型中唯一的連接是'.get_profile()'方法,它不能使用雙下劃線進行訪問,因爲它是一種方法而不是字段。 – jnns 2009-11-27 09:21:10
抱歉,反向關係可以起作用。類似profile__name或profile__name__contains,具體取決於您的模式。在ipython中取悅這些東西是很好的。它將是User.objects.filter(what__you__want ='foo')。如果你仍然有probs,你可能想要發佈你的個人資料模型 – michael 2009-11-28 00:06:46
謝謝,邁克爾。反向關係做了訣竅。我不知道爲什麼我沒有從django文檔的鏈接中獲得。也許我太累了,無法清晰地思考。 – jnns 2009-11-28 00:51:22