假设我有这样的模型:
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')
如何通过使用仅过滤器?]以这种格式按类别和广告类型检索广告?这可能吗?因为我能想到的唯一方法是查询所有内容,然后通过许多我想避免的for循环和if-else手动构建字典/ JSON。
预期格式/输出
] >>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? }
谢谢!
假设我有这样的模型:models.py类Category(models.Model):name = models.CharField(max_length = 70,verbose_name ='Name')order_num = models.IntegerField(verbose_name ='Order ...
要获取模型的相关对象,可以使用prefetch_related,该work可以具有[[ManyToMany
关系。