prefetch_related kullanarak bu benim modelidir:İki filtreleri Diyelim
class Pizza(models.Model):
size = models.IntegerField()
#other fields
class Order(models.Model):
date = models.DateField()
pizza = models.ManyToManyField(Pizza, through='OrderPizza')
#other fields
class OrderPizza(models.Model):
update = models.BooleanField()
order = models.ForeignKey(Order, on_delete=models.CASCADE)
pizza = models.ForeignKey(Pizza, on_delete=models.CASCADE)
Ben kullanarak da yapabilirsiniz Nasıl büyüklük 32. ile son sipariş dahilinde pizza id görmeye çalışın tek QuerySet?
#I take the last order:
last_order = Orders.objects.filter().order_by('-order_number')[:1]
#If we have at least one order
if last_order:
var_last_order_id = last_order[0].id
#First filter
queryset_orders = Orders.objects.filter(id=var_last_order_id).prefetch_related('pizza')
for food in queryset_orders:
#Second filter
pizza32 = food.pizza.filter(size = 32)
print pizza32.id
Ben sadece yerine queryset_orders sadece bir sorgu oluşturmak istedik = Orders.objects.filter (id = var_last_order_id) .prefetch_related ('pizza') ve pizza32 = food.pizza.filter (size = 32) sizce bu mümkün mü? – Steve
Yapabileceğini sanmıyorum. Bir sorguda bunu yapmanın amacı nedir? –