@@ -36,7 +36,7 @@ class BrandInfoAdmin(DeleteModelAdmin, admin.ModelAdmin): |
||
36 | 36 |
|
37 | 37 |
|
38 | 38 |
class ModelInfoAdmin(DeleteModelAdmin, admin.ModelAdmin): |
39 |
- list_display = ('brand_id', 'brand_name', 'model_id', 'model_name', 'model_full_name', 'model_descr', 'integral', 'position', 'status', 'created_at', 'updated_at') |
|
39 |
+ list_display = ('brand_id', 'brand_name', 'model_id', 'model_name', 'model_full_name', 'model_descr', 'image', 'url', 'integral', 'position', 'status', 'created_at', 'updated_at') |
|
40 | 40 |
list_filter = ('brand_name', 'status') |
41 | 41 |
|
42 | 42 |
def save_model(self, request, obj, form, change): |
@@ -99,7 +99,7 @@ class ConsumeInfoSubmitLogInfoAdmin(ReadOnlyModelAdmin, admin.ModelAdmin): |
||
99 | 99 |
admin.site.register(OperatorInfo, OperatorInfoAdmin) |
100 | 100 |
admin.site.register(BrandInfo, BrandInfoAdmin) |
101 | 101 |
admin.site.register(ModelInfo, ModelInfoAdmin) |
102 |
-admin.site.register(ModelImageInfo, ModelImageInfoAdmin) |
|
102 |
+# admin.site.register(ModelImageInfo, ModelImageInfoAdmin) |
|
103 | 103 |
admin.site.register(DistributorInfo, DistributorInfoAdmin) |
104 | 104 |
admin.site.register(LatestAppInfo, LatestAppInfoAdmin) |
105 | 105 |
admin.site.register(ConsumeInfoSubmitLogInfo, ConsumeInfoSubmitLogInfoAdmin) |
@@ -0,0 +1,26 @@ |
||
1 |
+# -*- coding: utf-8 -*- |
|
2 |
+# Generated by Django 1.11.11 on 2018-04-01 12:12 |
|
3 |
+from __future__ import unicode_literals |
|
4 |
+ |
|
5 |
+from django.db import migrations, models |
|
6 |
+import django_models_ext.fileext |
|
7 |
+ |
|
8 |
+ |
|
9 |
+class Migration(migrations.Migration): |
|
10 |
+ |
|
11 |
+ dependencies = [ |
|
12 |
+ ('mch', '0011_modelinfo_model_full_name'), |
|
13 |
+ ] |
|
14 |
+ |
|
15 |
+ operations = [ |
|
16 |
+ migrations.AddField( |
|
17 |
+ model_name='modelinfo', |
|
18 |
+ name='image', |
|
19 |
+ field=models.ImageField(blank=True, help_text='\u56fe\u7247', null=True, upload_to=django_models_ext.fileext.upload_path, verbose_name='image'), |
|
20 |
+ ), |
|
21 |
+ migrations.AddField( |
|
22 |
+ model_name='modelinfo', |
|
23 |
+ name='url', |
|
24 |
+ field=models.CharField(blank=True, help_text='\u94fe\u63a5', max_length=255, null=True, verbose_name='url'), |
|
25 |
+ ), |
|
26 |
+ ] |
@@ -74,6 +74,9 @@ class ModelInfo(BaseModelMixin): |
||
74 | 74 |
model_full_name = models.CharField(_(u'model_full_name'), max_length=255, blank=True, null=True, help_text=u'型号全名称') |
75 | 75 |
model_descr = models.TextField(_(u'model_descr'), max_length=255, blank=True, null=True, help_text=u'型号描述') |
76 | 76 |
|
77 |
+ image = models.ImageField(_(u'image'), upload_to=upload_path, blank=True, null=True, help_text=u'图片') |
|
78 |
+ url = models.CharField(_(u'url'), max_length=255, blank=True, null=True, help_text=u'链接') |
|
79 |
+ |
|
77 | 80 |
integral = models.IntegerField(_(u'integral'), default=100, help_text=u'积分') |
78 | 81 |
|
79 | 82 |
position = models.IntegerField(_(u'position'), default=1, help_text=u'排序') |
@@ -86,6 +89,10 @@ class ModelInfo(BaseModelMixin): |
||
86 | 89 |
return unicode(self.pk) |
87 | 90 |
|
88 | 91 |
@property |
92 |
+ def image_url(self): |
|
93 |
+ return upload_file_url(self.image) |
|
94 |
+ |
|
95 |
+ @property |
|
89 | 96 |
def data(self): |
90 | 97 |
return { |
91 | 98 |
'model_id': str(self.pk), |
@@ -94,9 +101,17 @@ class ModelInfo(BaseModelMixin): |
||
94 | 101 |
} |
95 | 102 |
|
96 | 103 |
@property |
104 |
+ def imgdata(self): |
|
105 |
+ return { |
|
106 |
+ 'image_url': self.image_url, |
|
107 |
+ 'url': self.url, |
|
108 |
+ } |
|
109 |
+ |
|
110 |
+ @property |
|
97 | 111 |
def images(self): |
98 |
- imgs = ModelImageInfo.objects.filter(model_id=self.model_id, status=True) |
|
99 |
- return [img.data for img in imgs] |
|
112 |
+ return [self.imgdata] if self.image else [] |
|
113 |
+ # imgs = ModelImageInfo.objects.filter(model_id=self.model_id, status=True) |
|
114 |
+ # return [img.data for img in imgs] |
|
100 | 115 |
|
101 | 116 |
|
102 | 117 |
class ModelImageInfo(BaseModelMixin): |