我正在使用Django 2.0
,并从要存储在数据库中的用户输入生成一个相当复杂的过滤器。你知道吗
假设我有以下模型:
class Car(models.Model):
brand = models.CharField(...)
doors = models.PositiveIntegerField(...)
class Tire(models.Model):
car = models.ForeignKey(Car, related_name="tires")
radius = models.FloatField(...)
color = models.CharField(...)
我现在想在评估或设置任何查询集之前为Car
和Tire
创建筛选器,即,我只想要完整的Q()
对象:
my_filter = Q(brand__startswith='Volks') & Q(doors=4)
my_tire_filter = Q(radius__range=(1.0, 2.0) & Q(color=black))
我现在怎样才能为Car
模型创建另一个Q
对象,给我满足my_filter
和轮胎满足my_tire_filter
的汽车?像这样的
my_car_filter = my_filter & Q(tires=my_tire_filter)
the_cars = Car.objects.get(my_car_filter)
我想将这些Q()
对象存储在数据库中,这就是为什么我需要没有任何数据集的纯Q
过滤器。有可能吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐