假设您要在序列化餐厅时包含5张图片和餐馆的总图像数。
您可以使用单独的方法查询每个字段的数据库, 但是在一种方法中使用QuerySet是有益的。
有没有办法在DRF中一次序列化多个字段?
答案 0 :(得分:0)
如果所有这些都属于一个模型,那么构建一个简单的模型序列化器将会解决所有问题。举个例子:
# Model
class Restaurant(models.Model):
@property
def image_count(self):
queryset = apps.get_model('app_label', 'Image')
count = queryset.objects.filter(restaurant=self).count()
return count
class Image(models.Model):
restaurant = models.ForeignKey(Restaurant, related_name="image_set")
image = models.ImageField()
Serializers.py
class RestaurantSerializer(serializers.ModelSerializer):
class Meta:
model = Restaurant
fields = ['image_count', ]
@ Property允许序列化这样的东西,该方法也可以只使用相关的名称。
如果要进一步序列化Image对象,则必须阅读http://www.django-rest-framework.org/api-guide/relations/