Add province code/name for DistributorInfo

Brightcells 7 ans auparavant
Parent
Commettre
c7b55979c0

+ 5 - 1
mch/admin.py

@@ -4,6 +4,7 @@ from django.conf import settings
4 4
 from django.contrib import admin
5 5
 from django.contrib.auth.hashers import make_password
6 6
 from django_admin import DeleteModelAdmin, ReadOnlyModelAdmin
7
+from django_models_ext import ProvinceShortModelMixin
7 8
 from pysnippets.strsnippets import strip
8 9
 
9 10
 from mch.models import (BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo, LatestAppInfo, ModelImageInfo, ModelInfo,
@@ -64,8 +65,9 @@ class ModelImageInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
64 65
 
65 66
 
66 67
 class DistributorInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
67
-    list_display = ('brand_id', 'brand_name', 'distributor_id', 'distributor_name', 'distributor_descr', 'position', 'status', 'created_at', 'updated_at')
68
+    list_display = ('brand_id', 'brand_name', 'distributor_id', 'distributor_name', 'distributor_descr', 'distributor_province_code', 'distributor_province_name', 'position', 'status', 'created_at', 'updated_at')
68 69
     list_filter = ('brand_name', 'status')
70
+    readonly_fields = ('distributor_province_code', )
69 71
 
70 72
     def save_model(self, request, obj, form, change):
71 73
         obj.brand_id = strip(obj.brand_id)
@@ -74,6 +76,8 @@ class DistributorInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
74 76
         except BrandInfo.DoesNotExist:
75 77
             obj.brand_name = ''
76 78
 
79
+        obj.distributor_province_code = ProvinceShortModelMixin.PROVINCE_NAME_CODE_DICT.get(obj.distributor_province_name, '')
80
+
77 81
         obj.save()
78 82
 
79 83
 

+ 25 - 0
mch/migrations/0014_auto_20180508_1058.py

@@ -0,0 +1,25 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.11 on 2018-05-08 02:58
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', '0013_consumeinfosubmitloginfo_test_user'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.AddField(
16
+            model_name='distributorinfo',
17
+            name='distributor_province_code',
18
+            field=models.CharField(blank=True, help_text='\u7ecf\u9500\u5546\u6240\u5728\u7701\u4efd\u7f16\u7801', max_length=6, null=True, verbose_name='distributor_province_code'),
19
+        ),
20
+        migrations.AddField(
21
+            model_name='distributorinfo',
22
+            name='distributor_province_name',
23
+            field=models.CharField(blank=True, choices=[('\u5317\u4eac', '\u5317\u4eac'), ('\u5929\u6d25', '\u5929\u6d25'), ('\u6cb3\u5317', '\u6cb3\u5317'), ('\u5c71\u897f', '\u5c71\u897f'), ('\u5185\u8499\u53e4', '\u5185\u8499\u53e4'), ('\u8fbd\u5b81', '\u8fbd\u5b81'), ('\u5409\u6797', '\u5409\u6797'), ('\u9ed1\u9f99\u6c5f', '\u9ed1\u9f99\u6c5f'), ('\u4e0a\u6d77', '\u4e0a\u6d77'), ('\u6c5f\u82cf', '\u6c5f\u82cf'), ('\u6d59\u6c5f', '\u6d59\u6c5f'), ('\u5b89\u5fbd', '\u5b89\u5fbd'), ('\u798f\u5efa', '\u798f\u5efa'), ('\u6c5f\u897f', '\u6c5f\u897f'), ('\u5c71\u4e1c', '\u5c71\u4e1c'), ('\u6cb3\u5357', '\u6cb3\u5357'), ('\u6e56\u5317', '\u6e56\u5317'), ('\u6e56\u5357', '\u6e56\u5357'), ('\u5e7f\u4e1c', '\u5e7f\u4e1c'), ('\u5e7f\u897f', '\u5e7f\u897f'), ('\u6d77\u5357', '\u6d77\u5357'), ('\u91cd\u5e86', '\u91cd\u5e86'), ('\u56db\u5ddd', '\u56db\u5ddd'), ('\u8d35\u5dde', '\u8d35\u5dde'), ('\u4e91\u5357', '\u4e91\u5357'), ('\u897f\u85cf', '\u897f\u85cf'), ('\u9655\u897f', '\u9655\u897f'), ('\u7518\u8083', '\u7518\u8083'), ('\u9752\u6d77', '\u9752\u6d77'), ('\u5b81\u590f', '\u5b81\u590f'), ('\u65b0\u7586', '\u65b0\u7586'), ('\u53f0\u6e7e', '\u53f0\u6e7e'), ('\u9999\u6e2f', '\u9999\u6e2f'), ('\u6fb3\u95e8', '\u6fb3\u95e8')], default='\u5317\u4eac', help_text='\u7ecf\u9500\u5546\u6240\u5728\u7701\u4efd\u540d\u79f0', max_length=3, null=True, verbose_name='distributor_province_name'),
24
+        ),
25
+    ]

+ 4 - 1
mch/models.py

@@ -2,7 +2,7 @@
2 2
 
3 3
 from django.db import models
4 4
 from django.utils.translation import ugettext_lazy as _
5
-from django_models_ext import BaseModelMixin, upload_file_url, upload_path
5
+from django_models_ext import BaseModelMixin, ProvinceShortModelMixin, upload_file_url, upload_path
6 6
 from shortuuidfield import ShortUUIDField
7 7
 
8 8
 
@@ -150,6 +150,9 @@ class DistributorInfo(BaseModelMixin):
150 150
     distributor_name = models.CharField(_(u'distributor_name'), max_length=255, blank=True, null=True, help_text=u'经销商名称')
151 151
     distributor_descr = models.TextField(_(u'distributor_descr'), max_length=255, blank=True, null=True, help_text=u'经销商描述')
152 152
 
153
+    distributor_province_code = models.CharField(_(u'distributor_province_code'), max_length=6, blank=True, null=True, help_text=u'经销商所在省份编码')
154
+    distributor_province_name = models.CharField(_(u'distributor_province_name'), max_length=3, choices=ProvinceShortModelMixin.PROVINCE_NAME_TUPLE, default=ProvinceShortModelMixin.PROVINCE_DEFAULT_NAME, blank=True, null=True, help_text=u'经销商所在省份名称')
155
+
153 156
     position = models.IntegerField(_(u'position'), default=1, help_text=u'排序')
154 157
 
155 158
     class Meta:

+ 34 - 34
pre/views.py

@@ -7,40 +7,40 @@ from statistic.models import DistributorSaleStatisticInfo, ModelSaleStatisticInf
7 7
 
8 8
 
9 9
 PROVINCE_LIST = {
10
-    "110000": "北京市",
11
-    "120000": "天津市",
12
-    "130000": "河北省",
13
-    "140000": "山西省",
14
-    "150000": "内蒙古自治区",
15
-    "210000": "辽宁省",
16
-    "220000": "吉林省",
17
-    "230000": "黑龙江省",
18
-    "310000": "上海市",
19
-    "320000": "江苏省",
20
-    "330000": "浙江省",
21
-    "340000": "安徽省",
22
-    "350000": "福建省",
23
-    "360000": "江西省",
24
-    "370000": "山东省",
25
-    "410000": "河南省",
26
-    "420000": "湖北省",
27
-    "430000": "湖南省",
28
-    "440000": "广东省",
29
-    "450000": "广西壮族自治区",
30
-    "460000": "海南省",
31
-    "500000": "重庆市",
32
-    "510000": "四川省",
33
-    "520000": "贵州省",
34
-    "530000": "云南省",
35
-    "540000": "西藏自治区",
36
-    "610000": "陕西省",
37
-    "620000": "甘肃省",
38
-    "630000": "青海省",
39
-    "640000": "宁夏回族自治区",
40
-    "650000": "新疆维吾尔自治区",
41
-    "710000": "台湾省",
42
-    "810000": "香港特别行政区",
43
-    "820000": "澳门特别行政区"
10
+    "110000": "北京",
11
+    "120000": "天津",
12
+    "130000": "河北",
13
+    "140000": "山西",
14
+    "150000": "内蒙古",
15
+    "210000": "辽宁",
16
+    "220000": "吉林",
17
+    "230000": "黑龙江",
18
+    "310000": "上海",
19
+    "320000": "江苏",
20
+    "330000": "浙江",
21
+    "340000": "安徽",
22
+    "350000": "福建",
23
+    "360000": "江西",
24
+    "370000": "山东",
25
+    "410000": "河南",
26
+    "420000": "湖北",
27
+    "430000": "湖南",
28
+    "440000": "广东",
29
+    "450000": "广西",
30
+    "460000": "海南",
31
+    "500000": "重庆",
32
+    "510000": "四川",
33
+    "520000": "贵州",
34
+    "530000": "云南",
35
+    "540000": "西藏",
36
+    "610000": "陕西",
37
+    "620000": "甘肃",
38
+    "630000": "青海",
39
+    "640000": "宁夏",
40
+    "650000": "新疆",
41
+    "710000": "台湾",
42
+    "810000": "香港",
43
+    "820000": "澳门"
44 44
 }
45 45
 
46 46
 

+ 3 - 3
requirements.txt

@@ -15,7 +15,7 @@ django-json-render==1.0.0
15 15
 django-json-response==1.1.5
16 16
 django-logit==1.1.2
17 17
 django-mobi==0.1.7
18
-django-models-ext==1.1.1
18
+django-models-ext==1.1.4
19 19
 django-multidomain==1.1.4
20 20
 django-paginator2==1.0.3
21 21
 django-redis-connector==1.0.1
@@ -24,7 +24,7 @@ django-rlog==1.0.7
24 24
 django-shortuuidfield==0.1.3
25 25
 django-six==1.0.4
26 26
 django-uniapi==1.0.1
27
-django-we==1.3.0
27
+django-we==1.3.8
28 28
 djangorestframework==3.7.7
29 29
 furl==1.0.1
30 30
 hiredis==0.2.0
@@ -32,7 +32,7 @@ isoweek==1.3.3
32 32
 jsonfield==2.0.2
33 33
 mock==2.0.0
34 34
 pysnippets==1.0.5
35
-pywe-jssdk==1.0.2
35
+pywe-jssdk==1.1.0
36 36
 pywe-membercard==1.0.0
37 37
 pywe-miniapp==1.0.2
38 38
 pywe-oauth==1.0.6

+ 25 - 0
statistic/migrations/0005_auto_20180508_1057.py

@@ -0,0 +1,25 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.11 on 2018-05-08 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
+        ('statistic', '0004_auto_20180426_0952'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.AlterField(
16
+            model_name='provincesalestatisticinfo',
17
+            name='province_code',
18
+            field=models.CharField(db_index=True, help_text='\u7701\u4efd\u7f16\u7801', max_length=6, verbose_name='province_code'),
19
+        ),
20
+        migrations.AlterField(
21
+            model_name='provincesalestatisticinfo',
22
+            name='province_name',
23
+            field=models.CharField(blank=True, help_text='\u7701\u4efd\u540d\u79f0', max_length=3, null=True, verbose_name='province_name'),
24
+        ),
25
+    ]

+ 2 - 2
statistic/models.py

@@ -93,8 +93,8 @@ class DistributorSaleStatisticInfo(BaseModelMixin):
93 93
 
94 94
 
95 95
 class ProvinceSaleStatisticInfo(BaseModelMixin):
96
-    province_code = models.CharField(_(u'province_code'), max_length=32, help_text=u'省份编码', db_index=True)
97
-    province_name = models.CharField(_(u'province_name'), max_length=32, blank=True, null=True, help_text=u'省份名称')
96
+    province_code = models.CharField(_(u'province_code'), max_length=6, help_text=u'省份编码', db_index=True)
97
+    province_name = models.CharField(_(u'province_name'), max_length=3, blank=True, null=True, help_text=u'省份名称')
98 98
     ymd = models.IntegerField(_(u'ymd'), default=0, help_text=u'年月日', db_index=True)  # 例:20171208, tc.local_string(format='%Y%m%d'), 0 为全部
99 99
     num = models.IntegerField(_(u'num'), default=0, help_text=u'数量')
100 100