1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# coding=utf8
from __future__ import unicode_literals, absolute_import, print_function
from django.db import models
from gm_upload import IMG_TYPE
from gm_upload import ImgUrlField
from talos.libs.image_utils import get_full_path, get_short_path
from talos.models.diary.diary import Diary
from utils.common import convert_image
class PreOperationImage(models.Model):
class Meta:
verbose_name = u'术前图'
verbose_name_plural = u'术前图'
db_table = 'api_preoperationimage'
app_label = 'talos'
topic = models.ForeignKey('talos.Problem', related_name='pre_operation_images', null=True)
diary = models.ForeignKey(Diary, related_name='pre_operation_images', null=True)
image_url = ImgUrlField(img_type=IMG_TYPE.PREOPERATIONIMAGE, max_length=300, verbose_name=u'图片地址')
cover_image_url = ImgUrlField(img_type=IMG_TYPE.PREOPERATIONIMAGE, max_length=300, verbose_name=u'封面图片地址')
taken_time = models.DateTimeField(verbose_name=u'拍摄时间', null=True)
is_cover = models.BooleanField(verbose_name=u'是否封面', default=False)
def get_image_info(self):
images = convert_image(self.image_url, watermark=True)
images.update({
'desc': '',
'cover_image_url': self.get_cover_img_url(),
'is_cover': self.is_cover,
'image_name': get_short_path(self.image_url), # 5.9.3新增字段
})
return images
def get_cover_img_url(self):
if self.cover_image_url:
return get_full_path(self.cover_image_url, '-w')
else:
return get_full_path(self.image_url, '-w')
def __unicode__(self):
return u'<%s><Topic:%s><Image_url: %s>' % (self.id, self.topic, self.image_url)