self.image.width 的 Django 模型方法性能
Django Model Method Performance With self.image.width
我有以下模型方法....
def make_image_width(self):
"""
Returns image width of the object.
"""
if self.image:
return self.image.width
return "null"
当我 运行 在序列化程序中执行此操作时,渲染 100 个对象需要 2 分钟。
class ImageSerializer(serializers.HyperlinkedModelSerializer):
image_width = serializers.ReadOnlyField(source='make_image_width')
class Meta:
model = Image
fields = (
'id','image_width',)
为什么 self.image.width
这么慢?我该如何改进?
您的方法读取图像文件以获得宽度。
您应该在模型中创建一个整数字段并使用 ImageField 的 width_field
属性指向它。
我有以下模型方法....
def make_image_width(self):
"""
Returns image width of the object.
"""
if self.image:
return self.image.width
return "null"
当我 运行 在序列化程序中执行此操作时,渲染 100 个对象需要 2 分钟。
class ImageSerializer(serializers.HyperlinkedModelSerializer):
image_width = serializers.ReadOnlyField(source='make_image_width')
class Meta:
model = Image
fields = (
'id','image_width',)
为什么 self.image.width
这么慢?我该如何改进?
您的方法读取图像文件以获得宽度。
您应该在模型中创建一个整数字段并使用 ImageField 的 width_field
属性指向它。