我有3个django型号:
class Property(object):
name = ...
class Object(object):
text = ...
data_related = models.ManyToManyField('Property',related_name='property_related', through="ObjectProperty")
class ObjectProperty(object):
extra_data = ...
我需要选择同时具有至少2个属性的对象。 我该怎么办?
例如,Object = [lamp,table,car,pen,...] 财产= [圆形,红色,白色,隐形,柔软,......] 我想找到白色的圆形和柔软的物体。
我想在1个查询集中执行此操作
答案 0 :(得分:0)
请尝试使用此:
from django.db.models.aggregates import Count
_objects = Object.objects.filter(
data_related__name__in=['round', 'soft']).annotate(
count_objects=Count('id')).filter(count_objects__gt=1)