我有一个带有外键字段user = models.ForeignKey(User)
的模型,该字段链接到django.contrib.auth.models中的User模型。我想做以下事情:
ModelName.objects.get(user.username=request.user.username)
我的代码中的上述内容出现以下错误:
SyntaxError: keyword can't be an expression
这个的正确语法是什么?
答案 0 :(得分:4)
尝试ModelName.objects.get(user__username=request.user.username)
编辑:根据您的模型关系,这可能会导致多个记录,在这种情况下,get()会抛出异常,因此您可以使用此代码:
ModelName.objects.filter(user__username=request.user.username)
答案 1 :(得分:1)
另一种检索特定用户对象的便捷方法是
user = request.user
objs = user.modelname_set.get(pk=x)