[英]Django reverse lookup foreign keys with multiple conditions
我正在尝试在Django中使用多种条件进行反向查找,希望我的问题不会与其他问题重复。 让我解释:
我有两个模型:模型A:
class A(models.Model):
title = models.CharField(max_length=200)
... other fields
型号B:
class B(models.Model):
a = models.ForeignKey(A)
label = models.CharField(max_length=200)
value = models.CharField(max_length=200)
... other fields
如何获得A:1)带有标签= name,值= John的B 2),并且带有标签= age,值= 20的B
我尝试了以下操作,但不起作用:
A.objects.filter(b__label="name", b__value="John", b__label="age", b__value=20)
您可以使用Q object
:
from django.db.models import Q
A.objects.filter(
(Q(b__label="name") & Q(b__value="John")) | (Q(b__label="age") & Q(b__value=20))
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.