gpt4 book ai didi

python - django-imagekit - 缩略图字段未序列化

转载 作者:太空宇宙 更新时间:2023-11-04 10:32:55 24 4
gpt4 key购买 nike

我有以下问题:

我正在 django 中编写一个 AJAX View ,该 View 提供有关来自模型的图像列表的 JSON 数据,该模型使用来自 django-imagekit 扩展的 ImageSpecField:

class Image(models.Model):
title = models.CharField(max_length=120)
img = models.ImageField(upload_to="images")
thumb = ImageSpecField(source="img",
id="core:image:image_thumbnail"
)
objects = models.Manager()
json_data = JSONConvertibleManager()

该模型使用自定义管理器通过内置的 Django 序列化程序(django.core.serializers 的实例)转换为 JSON (JSONConvertibleManager)。

我的问题是所有字段都已正确序列化,除了 ImageSpecField 已被完全省略。是否可以在序列化期间返回 instance.thumb.url 值?

最佳答案

仅供引用,我使用的是 Django Rest Framework,因此使用了该库中的序列化程序类。

我的模型:

class Photo(models.Model):
""" Photograph """
title = models.CharField(max_length=100)
slug = models.SlugField(max_length=255)
original_image = models.ImageField(upload_to='boxes')
formatted_image = ImageSpecField(source='original_image', format='JPEG',
options={'quality': 90})
thumbnail = ImageSpecField([Adjust(contrast=1.2, sharpness=1.1),
ResizeToFill(200, 115)], source='original_image',
format='JPEG', options={'quality': 90})
num_views = models.PositiveIntegerField(editable=False, default=0)

我的序列化器:

class PhotoSerializer(serializers.ModelSerializer):
original_image = serializers.Field('original_image.url')
thumbnail = serializers.Field('thumbnail.url')

class Meta:
model = Photo
fields = ('id', 'title', 'original_image', 'thumbnail',)

关于python - django-imagekit - 缩略图字段未序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25240722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com