Profileと呼ばれる各ユーザープロファイルのカスタムフィールドでユーザーをフィルターしようとしています。このフィールドはレベルと呼ばれ、0〜3の整数です。
Equalsを使用してフィルター処理すると、選択したレベルのユーザーのリストが期待どおりに取得されます。
user_list = User.objects.filter(userprofile__level = 0)
以下を使用してフィルタリングしようとすると:
user_list = User.objects.filter(userprofile__level < 3)
エラーが表示されます:
グローバル名「userprofile__level」が定義されていません
<または>でフィルタリングするためにそこにありますか、それとも間違ったツリーを探していますか。
より小さいか等しい:
User.objects.filter(userprofile__level__lte=0)
より大きいか等しい:
User.objects.filter(userprofile__level__gte=0)
同様に、より小さい場合はlt
、より大きい場合はgt
です。それらはすべて見つけることができます ドキュメントで 。