【发布时间】:2017-08-05 10:08:25
【问题描述】:
我无法让它工作:
class MyView(generic.ListView):
context_object_name = 'my-model-list'
template_name = 'my_models.html'
def get_queryset(self):
return MyModel.objects.filter(user=self.request.user)
我也试过
return MyModel.objects.filter(user=User.objects.filter(name=self.request.user))
似乎 self.request.user 正在返回一个名称。我得到的错误是
Cannot query "a": Must be "User" instance.
用户的名字是“a”。
我的模特是
from .models import User
class MyModel(models.Model):
user = models.ForeignKey(User)
谁能帮帮我?
提前谢谢你。
【问题讨论】:
-
print(type(self.request.user))和print(self.request.user)给你什么输出? -
我得到的输出是:
<class 'django.utils.functional.SimpleLazyObject'>a另外我不认为这是重复的,因为答案是代码不能在类级别,而我的代码不在班级级别。 -
您如何在设置中导入用户并定义身份验证?我的代码看起来与你的工作相同,我的类型输出是
django.contrib.auth.models.User。 -
以这种方式导入用户
from django.contrib.auth.models import User再试一次
标签: python django class view request