如何在django REST框架中返回模型的所有图像
我正在尝试为一家餐厅编写一个使用RESTAPI的应用程序。我有一个模型如下:如何在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_
# 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:我已经编辑了我的问题。实际上,我不知道客户如何能看到所有的图像。