2つのクエリセットには両方とも同じモデルクラスのインスタンスが含まれています。Django:2つのクエリセットと重複
class DBV:
name = CharField
description = TextField
review_state = CharField(choices=[u"Draft",u"Published",u"Archived"])
team_members = FK(User)
deleted = Boolean
これは、私は2つのクエリセットを取得するためにフィルタリングしています方法です:
res = DBV.objects.filter(deleted=False).filter(team_members=user)
if user.has_perm('dbv.can_view_dbv'):
r = DBV.objects.filter(deleted=False).filter(review_state__in=[u'Published',u'Archived',])
res = res + r
最初の問題は、もちろん、あなたがクエリセットを追加しようとしたとき、あなたが得ることです:
unsupported operand type(s) for +: 'QuerySet' and 'QuerySet'
これらのクエリセットをマージして重複を削除する最も良い方法は何ですか?私は実際にSQLを書く以外にDjangoでそれを行う方法ではないことを理解しています。または?
ありがとうございました! :) エリック
ハ!それだ。 Qオブジェクトをありがとう。それは私の問題を解決するように見えます。 :) ありがとうございました。 –