我有imagefield。序列化器正在关注
class CategoryWithImagesSerializer(serializers.ModelSerializer):
image_url = serializers.SerializerMethodField()
def get_image_url(self, obj):
return obj.image.url
class Meta:
model = Category
fields = [
'pk',
'name',
'image_url',
]
在我的模型中,我有像这样描述的图像
image = models.ImageField(verbose_name='Изображение', upload_to = 'images/', blank=True)
使用此设置时,如果有没有图像的对象,我会崩溃。
如果没有图像,我需要一种不返回网址的方法
我该怎么做?
答案 0 :(得分:2)
如果.url
为obj.image
,则呼叫None
会引发异常。
您可以按如下方式更新get_image_url
:
def get_image_url(self, obj):
if obj.image:
return obj.image.url
else:
return None