如何在django REST框架中返回模型的所有图像

如何在django REST框架中返回模型的所有图像,django,django-models,Django,Django Models,我正在尝试为一家餐厅编写一个使用RESTAPI的应用程序。我有一个模型如下: # models.py # ========================================================================= class Food(models.Model): food_id = models.IntegerField(primary_key=True, unique=True) name = models.CharField(max_

我正在尝试为一家餐厅编写一个使用RESTAPI的应用程序。我有一个模型如下:

# models.py
# =========================================================================
class Food(models.Model):
    food_id = models.IntegerField(primary_key=True, unique=True)
    name = models.CharField(max_length=30, null=False, blank=False)
    desc = models.TextField(max_length=200)
    price = models.IntegerField(null=False, blank=False)
    f_thumbnail = models.ImageField(upload_to='img/imgFood/')
    DDD_data = models.ImageField(upload_to='img/DDD_Food/')

    def __str__(self):
        return '%s %s' % (self.name, self.price)
当客户机发送所有文件的请求时,我希望使用ListAPIView为其提供
Food
类的所有图像文件的列表


我该如何计算呢?

您可以创建一个扩展了
ListAPIView
ListFoodImagesView
,例如:

from rest_framework import generics

class ListFoodImagesView(generics.ListAPIView):
    serializer_class = FoodImagesSerializer
    queryset = Food.objects.all()
from rest_framework import serializers

class FoodImageSerializer(serializers.ModelSerializer):
    image_url = serializers.SerializerMethodField()

    class Meta:
        model = Food
        fields = ('image_url', )

    def get_image_url(self, food):
        return food.DDD_data.url        
并使用仅序列化图像url的
FoodImageSerializer
,例如:

from rest_framework import generics

class ListFoodImagesView(generics.ListAPIView):
    serializer_class = FoodImagesSerializer
    queryset = Food.objects.all()
from rest_framework import serializers

class FoodImageSerializer(serializers.ModelSerializer):
    image_url = serializers.SerializerMethodField()

    class Meta:
        model = Food
        fields = ('image_url', )

    def get_image_url(self, food):
        return food.DDD_data.url        

你能再详细说明一下你的问题吗?当你说django REST时,你是指django REST框架吗?如果是,到目前为止您尝试了什么?您是否使用ListAPIView和相应的序列化程序编写和终结了此问题?@gpichot:我已经编辑了我的问题。实际上,我不知道客户如何能看到所有的图像。