2015-05-08 23 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

相关问题