:art: Add field camera_market_time for CameraModelInfo/ModelCameraBodyInfo

huangqimin 5 years ago
parent
commit
da799e7af6

+ 4 - 3
mch/admin.py

@@ -98,7 +98,7 @@ class ModelInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
98 98
 
99 99
 
100 100
 class CameraModelInfoAdmin(admin.ModelAdmin):
101
-    list_display = ('brand_id', 'brand_name', 'camera_brand_name', 'camera_name', 'camera_image', 'status', 'created_at', 'updated_at')
101
+    list_display = ('brand_id', 'brand_name', 'camera_brand_name', 'camera_name', 'camera_image', 'camera_market_time', 'status', 'created_at', 'updated_at')
102 102
     list_filter = ('brand_name', 'camera_brand_name', 'status')
103 103
 
104 104
     def save_model(self, request, obj, form, change):
@@ -111,13 +111,14 @@ class CameraModelInfoAdmin(admin.ModelAdmin):
111 111
             camera_name=obj.camera_name,
112 112
         ).update(
113 113
             camera_image=obj.camera_image,
114
+            camera_market_time=obj.camera_market_time,
114 115
         )
115 116
 
116 117
 
117 118
 class ModelCameraBodyInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
118
-    list_display = ('brand_id', 'brand_name', 'model_name', 'model_full_name', 'model_image', 'is_important', 'camera_brand_name', 'camera_name', 'camera_image', 'status', 'created_at', 'updated_at')
119
+    list_display = ('brand_id', 'brand_name', 'model_name', 'model_full_name', 'model_image', 'is_important', 'camera_brand_name', 'camera_name', 'camera_image', 'camera_market_time', 'status', 'created_at', 'updated_at')
119 120
     list_filter = ('brand_name', 'model_name', 'is_important', 'camera_brand_name', 'status')
120
-    readonly_fields = ('model_image', 'camera_image')
121
+    readonly_fields = ('model_image', 'camera_image', 'camera_market_time')
121 122
     search_fields = ('brand_id', 'brand_name', 'model_name', 'model_full_name', 'camera_name')
122 123
 
123 124
 

+ 20 - 0
mch/migrations/0049_modelcamerabodyinfo_camera_market_time.py

@@ -0,0 +1,20 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.28 on 2020-03-09 02:57
3
+from __future__ import unicode_literals
4
+
5
+from django.db import migrations, models
6
+
7
+
8
+class Migration(migrations.Migration):
9
+
10
+    dependencies = [
11
+        ('mch', '0048_modelcamerabodyinfo_is_important'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.AddField(
16
+            model_name='modelcamerabodyinfo',
17
+            name='camera_market_time',
18
+            field=models.DateField(blank=True, help_text='\u673a\u8eab\u4e0a\u5e02\u65e5\u671f', null=True, verbose_name='camera_market_time'),
19
+        ),
20
+    ]

+ 20 - 0
mch/migrations/0050_cameramodelinfo_camera_market_time.py

@@ -0,0 +1,20 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.28 on 2020-03-09 06:11
3
+from __future__ import unicode_literals
4
+
5
+from django.db import migrations, models
6
+
7
+
8
+class Migration(migrations.Migration):
9
+
10
+    dependencies = [
11
+        ('mch', '0049_modelcamerabodyinfo_camera_market_time'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.AddField(
16
+            model_name='cameramodelinfo',
17
+            name='camera_market_time',
18
+            field=models.DateField(blank=True, help_text='\u673a\u8eab\u4e0a\u5e02\u65e5\u671f', null=True, verbose_name='camera_market_time'),
19
+        ),
20
+    ]

+ 9 - 0
mch/models.py

@@ -290,6 +290,7 @@ class CameraModelInfo(BaseModelMixin):
290 290
     camera_brand_name = models.CharField(_(u'camera_brand_name'), max_length=255, blank=True, null=True, help_text=u'机身品牌')
291 291
     camera_name = models.CharField(_(u'camera_name'), max_length=255, blank=True, null=True, help_text=u'机身名称')
292 292
     camera_image = models.ImageField(_(u'camera_image'), upload_to=upload_path, blank=True, null=True, help_text=u'机身图片')
293
+    camera_market_time = models.DateField(_(u'camera_market_time'), blank=True, null=True, help_text=u'机身上市日期')
293 294
 
294 295
     class Meta:
295 296
         verbose_name = _(u'机身信息')
@@ -311,6 +312,7 @@ class ModelCameraBodyInfo(BaseModelMixin):
311 312
     camera_brand_name = models.CharField(_(u'camera_brand_name'), max_length=255, blank=True, null=True, help_text=u'机身品牌')
312 313
     camera_name = models.CharField(_(u'camera_name'), max_length=255, blank=True, null=True, help_text=u'机身名称')
313 314
     camera_image = models.ImageField(_(u'camera_image'), upload_to=upload_path, blank=True, null=True, help_text=u'机身图片')
315
+    camera_market_time = models.DateField(_(u'camera_market_time'), blank=True, null=True, help_text=u'机身上市日期')
314 316
 
315 317
     class Meta:
316 318
         verbose_name = _(u'型号机身适配信息')
@@ -328,6 +330,12 @@ class ModelCameraBodyInfo(BaseModelMixin):
328 330
         return upload_file_url(self.camera_image)
329 331
 
330 332
     @property
333
+    def final_camera_market_time(self):
334
+        if not self.camera_market_time:
335
+            return ''
336
+        return tc.local_string(self.camera_market_time, format='%Y-%m-%d')
337
+
338
+    @property
331 339
     def data(self):
332 340
         return {
333 341
             'model_name': self.model_name,
@@ -336,6 +344,7 @@ class ModelCameraBodyInfo(BaseModelMixin):
336 344
             'camera_brand_name': self.camera_brand_name,
337 345
             'camera_name': self.camera_name,
338 346
             'camera_url': self.camera_url,
347
+            'camera_market_time': self.final_camera_market_time,
339 348
         }
340 349
 
341 350