【发布时间】:2017-12-22 16:15:30
【问题描述】:
我有两个模型:UserEdus 和 Question。
我需要获取具有特定UserEdus 作为其作者的所有Questions。
模型.py
class UserEdus(models.Model):
user = models.OneToOneField(User, on_delete=models.SET_NULL, null=True)
class Question(models.Model):
author = models.ForeignKey(UserEdus, null=False)
Views.py
class MyQuestionListView(generic.ListView):
model = Question
paginate_by = 10
queryset = Question.objects.filter(author=User.useredus)
template_name = 'edus/myquestion_list.html'
这个查询集返回int() argument must be a string, a bytes-like object or a number, not 'ReverseOneToOneDescriptor'
如果我这样做了
queryset = User.useredus.question.all()
返回'ReverseOneToOneDescriptor' object has no attribute 'question'
虽然在模板级别,我可以使用
得到正确的结果{% for question in user.useredus.question_set.all %}
【问题讨论】:
-
您确定不想使用 author=UserEdus 吗?鉴于 Question 模型,这就是 author 字段唯一可以做的事情:它对 UserEdus 有一个 FK。
-
试试
(author=request.user)而不是(author=User.useredus) -
@Evert,这样做会返回相同的 int() 参数错误 hansTheFranz,返回请求未定义
标签: python django python-3.x django-views django-queryset