2015-05-08 25 views
2

我想我不會重複這個問題,因爲我無法找到我的問題的答案。Django FieldError在/ admin/app/modelClass/

models.py我的模型類如下:

class UserDetail(models.Model): 
    user = models.OneToOneField(User) 
    users = User.objects.all() 
    Instance_ID = models.CharField(max_length=10, unique=True) 
    Service_ID = models.CharField(max_length=15, unique=True) 

    Reference_ID = models.CharField(max_length=15, unique=True) 

admin.py如下:

class UserDetailAdmin(admin.ModelAdmin): 
    list_display = ('user','Instance_ID','Service_ID','Reference_ID') 
    search_fields = ('users__User','Instance_ID','Service_ID','Reference_ID') 

如何搜索用戶字段?如果我只在「search_fields」中嘗試「user」或「user_id」,我會收到以下錯誤消息。

TypeError at /admin/app/UserDetail/ -----> "Related Field got invalid lookup: icontains"

如果我嘗試「User__users」或search_fields,我得到了以下字段錯誤「users__User」或「用戶」:

FieldError at /admin/app/UserDetail/ ----> "Cannot resolve keyword 'users' into field. Choices are: Reference_ID, Service_ID, Instance_ID, user, user_id"

我究竟做錯了什麼?有人能指出我在正確的方向

感謝

+0

像User.objects.all()這樣的字段引用幾乎不是一個好主意。您可能需要的是將查詢用作用戶搜索字段的視圖,然後調用User.objects.filter(username = queryparameter)。 –

+1

是的,我剛剛刪除它。我只用'user = models.OneToOneField(用戶)'和搜索字段'user__username' – nagsrk

回答

0

假設你正在使用的股票User類,「用戶」是不是這個類的一個領域,所以這是行不通的。

我認爲使用users__username作爲搜索字段將工作,但尚未測試。

+0

感謝@Jason冠軍,是的,這解決了我的問題,但稍作修改,它與'user__username' – nagsrk

相關問題