Move image/url from ModelImageInfo to ModelInfo

Brightcells 7 years ago
parent
commit
f1260953bf
3 changed files with 45 additions and 4 deletions
  1. 2 2
      mch/admin.py
  2. 26 0
      mch/migrations/0012_auto_20180401_2012.py
  3. 17 2
      mch/models.py

+ 2 - 2
mch/admin.py

@@ -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)

+ 26 - 0
mch/migrations/0012_auto_20180401_2012.py

@@ -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
+    ]

+ 17 - 2
mch/models.py

@@ -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):