2012-01-04 3 views
2

django.contrib.auth.modelsのUserモデルにリンクする外部キーフィールドuser = models.ForeignKey(User)を持つモデルがあります。私は、次の操作を実行したいと思います:外部キーフィールドで 'get'メソッドを使用するには?

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

私は私のコードで上記の点で、次のエラーが表示されます。このための正しい構文は何

SyntaxError: keyword can't be an expression 

答えて

4

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

編集してみてください。お使いのモデルの関係に応じて、これは複数のレコードをもたらすことができる、(取得、その場合には)あなたの代わりにこれを使用することができるように、例外をスローします: ModelName.objects.filter(user__username=request.user.username)

+0

これは機能しました。私は以前にその構文を使用しましたが、何らかの理由でそれを見つけることができなかった、またはそれを覚えていませんでした... –

1

別の特定のユーザーのオブジェクトを検索する便利な方法は次のとおりです

user = request.user 
objs = user.modelname_set.get(pk=x) 
関連する問題