1

OK、それは複雑ではないかもしれませんが、私はこれで立ち往生しています。私はこのモデルスキーマを持っています:

Evento(models.Model):
    aprobado = models.BooleanField()
    mod = models.ForeignKey(model=Mod, null=True)
    [...]

Mod(models.Model):
    activo = models.BooleanField()
    [...]

andまたは(mod!= Noneの場合)を使用してオブジェクトaprobado == Truemod == Nonemod.activo == Falseを取得したい。

4

2 に答える 2

2

Q」オブジェクトとビット単位のOR演算子(SQL ORを表すためにQオブジェクトに対してオーバーロードされます)を使用します。

from django.db.models import Q

queryset = Evento.objects.filter(Q(mod__isnull=True, aprobado=True) | Q(mod__isnull=False, mod__activo=False))
于 2013-03-13T22:55:18.447 に答える
1

あなたは冗長になり、Qオブジェクトを使用することができます:

Evento \
    .objects \
    .filter(
        Q(aprobado==True, mod__isnull=True) |
        Q(mod__isnull=False, mod__activo=False)
于 2013-03-13T22:57:04.150 に答える