Предположим, у меня есть такие модели:
models.py
class Category(models.Model):
name = models.CharField(max_length=70, verbose_name='Name')
order_num = models.IntegerField(verbose_name='Order Number')
class Advertisement_Type(models.Model):
name = models.CharField(max_length=70, verbose_name='Name')
ad_category = models.ManyToManyField(Category, verbose_name='Ad Category')
class Advertisement(models.Model):
title = models.CharField(max_length=70, verbose_name='Title')
ad_type = models.ForeignKey(Advertisement_Type, on_delete=models.CASCADE, verbose_name='Advertisement Type')
Как получить рекламу по категории и рекламе введите в таком формате, используя только фильтры? Возможно ли это? Потому что я могу думать только о том, чтобы запросить все, а затем вручную построить словарь / JSON через несколько циклов for и if-else, которых я бы хотел избежать.
Ожидаемый формат / вывод
advertisement_type: {
name: 'Type 1',
category: {'Health', 'Engineering'},
advertisement: {ads1, ads2, ads3}, # Can these be objects?
},
advertisement_type: {
name: 'Type 2',
category: {'Math', 'Numbers'},
advertisement: {ads4, ads5, ads6}, # Can these be objects?
}
Спасибо!