使用django object Q查询数据库,并将其与运算符&;
如果我的问题已经存在,我提前道歉,但我没有找到 有一个模型:使用django object Q查询数据库,并将其与运算符&;,django,python-3.x,django-queryset,Django,Python 3.x,Django Queryset,如果我的问题已经存在,我提前道歉,但我没有找到 有一个模型: class Artikul_cabinets(models.Model): artikul_cabinets = models.CharField(verbose_name="Артикул шкафа", max_length=20) title_cabinets = models.CharField(verbose_name="Описание шкафа", max_length=20
class Artikul_cabinets(models.Model):
artikul_cabinets = models.CharField(verbose_name="Артикул шкафа", max_length=20)
title_cabinets = models.CharField(verbose_name="Описание шкафа", max_length=200)
width_cabinets = models.ManyToManyField(Width_cabinets)
depth_cabinets = models.ManyToManyField(Depth_cabinets)
unit_cabinets = models.ManyToManyField(Unit_cabinets)
weight_cabinets = models.ManyToManyField(Weight_cabinets)
type_cabinets = models.ForeignKey(Type_cabinets, default=1)
color_cabinets = models.ForeignKey(Color_cabinets)
glass_cabinets = models.ManyToManyField(Glass_cabinets)
class Meta:
verbose_name_plural = "Артикул шкафа"
def __str__(self):
return self.artikul_cabinets
有必要在现场进行选择
glass_cabinets = models.ManyToManyField(Glass_cabinets)
选择如下所示
data = Artikul_cabinets.objects.filter(Q(glass_cabinets=perf) &
Q(glass_cabinets=glass)
perf
和glass
具有不同值的变量。
尽管记录中存在参数为“perf”和“glass”的数据库元素,但我返回了空的QuerySet
告诉我我做错了什么
还尝试:
data = Artikul_cabinets.objects.filter(Q(glass_cabinets=perf),
Q(glass_cabinets=glass)
而且也不起作用,不过如果你把操作符“|”的条件或计算正确。所以我认为你应该做
Artikul_柜.objects.filter(glass_柜=perf)。filter(glass_柜=glass)代码>
检查是否使用了
|工作正常?是。工作正常数据=Artikul\u文件柜。对象。过滤器(Q(玻璃柜=性能),Q(玻璃柜=玻璃)
返回同时具有perf
和glass
的对象。是否有同时具有这两个属性的对象?返回空的自利属性以及data=Artikul\u Cabines.objects.filter(Q(glass\u Cabines=perf)和Q(glass\u Cabines=glass)
是否有同时具有这两个属性的对象?