如何使用外键字段的'get'方法?

时间:2012-01-04 19:34:51

标签: django model foreign-keys

我有一个带有外键字段user = models.ForeignKey(User)的模型,该字段链接到django.contrib.auth.models中的User模型。我想做以下事情:

ModelName.objects.get(user.username=request.user.username)

我的代码中的上述内容出现以下错误:

SyntaxError: keyword can't be an expression

这个的正确语法是什么?

2 个答案:

答案 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)