gpt4 book ai didi

python - Django 1.9 在列表中查找属性等于某个值的对象

转载 作者:太空宇宙 更新时间:2023-11-03 17:01:08 25 4
gpt4 key购买 nike

我想知道如何查询属性等于某个给定值以及交付区域属性列表中的其他给定值的所有餐厅。这是我的代码的外观:

模型.py

class Restaurant(models.Model):
name = models.CharField(max_length=120)
delivery_zones = models.ManyToManyField('DeliveryZone', default=None)
service_type = models.CharField(max_length=25, choices=settings.SERVICE_TYPE_CHOICES, default='DELIVERY')
is_active = models.BooleanField(default=False)

class DeliveryZones(models.Model):
zone = models.CharField(max_length=25, default=None)
is_active = models.BooleanField(default=False)

views.py:

restaurants = get_list_404(
Restaurant, is_active=True,
service_type='SOME_GIVEN_SERVICE_TYPE_NAME',
delivery_zones__icontains='SOME_GIVEN_ZONE_NAME'
)

最佳答案

听起来您正在寻找的是 __in 查找。另外,它是 get_list_or_404,而不是 get_list_404

尝试:

zones = DeliveryZones.objects.filter(zone='SOME_NAME', is_active=True)
restaurants = get_list_or_404(
Restaurant, is_active=True,
service_type='SOME_GIVEN_SERVICE_TYPE_NAME',
delivery_zones__in=zones
)

关于python - Django 1.9 在列表中查找属性等于某个值的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34981847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com