Add file_size field to Image

This commit is contained in:
Karl Hobley 2015-06-19 10:51:55 +01:00
parent 60e2d81052
commit d04798daac
2 changed files with 33 additions and 0 deletions

View file

@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('wagtailimages', '0006_add_verbose_names'),
]
operations = [
migrations.AddField(
model_name='image',
name='file_size',
field=models.PositiveIntegerField(editable=False, null=True),
),
]

View file

@ -71,6 +71,20 @@ class AbstractImage(models.Model, TagSearchable):
focal_point_width = models.PositiveIntegerField(null=True, blank=True)
focal_point_height = models.PositiveIntegerField(null=True, blank=True)
file_size = models.PositiveIntegerField(null=True, editable=False)
def get_file_size(self):
if self.file_size is None:
try:
self.file_size = self.file.size
except OSError:
# File doesn't exist
return
self.save(update_fields=['file_size'])
return self.file_size
def get_usage(self):
return get_object_usage(self)