bind LensmanInfo and UserInfo

Brightcells 9 ans auparavant
Parent
Commettre
6d6c8485ce

+ 16 - 1
account/admin.py

@@ -16,7 +16,22 @@ class LensmanInfoAdmin(admin.ModelAdmin):
16 16
 
17 17
     def save_model(self, request, obj, form, change):
18 18
         if not obj.lensman_id:
19
-            obj.lensman_id = CurtailUUID.uuid(LensmanInfo, 'lensman_id')
19
+            user_id = CurtailUUID.uuid(UserInfo, 'user_id')
20
+            obj.lensman_id = user_id
21
+
22
+        fields = {
23
+            'name': obj.name,
24
+            'sex': obj.sex,
25
+            'phone': obj.phone,
26
+            'location': obj.location,
27
+            'user_status': obj.status,
28
+        }
29
+        user, created = UserInfo.objects.get_or_create(user_id=obj.lensman_id, user_from=UserInfo.LENSMAN_USER, defaults=fields)
30
+        if not created:
31
+            for key, value in fields.iteritems():
32
+                setattr(user, key, value)
33
+            user.save()
34
+
20 35
         if obj.password:
21 36
             obj.encryption = make_password(obj.password, None, 'pbkdf2_sha256')
22 37
             obj.password = None

+ 19 - 0
account/migrations/0011_auto_20160627_1411.py

@@ -0,0 +1,19 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.db import models, migrations
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('account', '0010_userinfo_uuid'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.AlterField(
15
+            model_name='userinfo',
16
+            name='user_from',
17
+            field=models.IntegerField(default=0, help_text='\u7528\u6237\u6765\u6e90', verbose_name='user_from', choices=[(0, 'APP \u521b\u5efa\u7528\u6237'), (1, '\u5fae\u4fe1\u6388\u6743\u7528\u6237'), (9, '\u6e38\u5ba2\u7528\u6237'), (10, '\u6444\u5f71\u5e08\u7528\u6237')]),
18
+        ),
19
+    ]

+ 19 - 0
account/migrations/0012_auto_20160627_1419.py

@@ -0,0 +1,19 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.db import models, migrations
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('account', '0011_auto_20160627_1411'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.AlterField(
15
+            model_name='lensmaninfo',
16
+            name='sex',
17
+            field=models.IntegerField(default=1, help_text='\u6444\u5f71\u5e08\u6027\u522b', verbose_name='sex', choices=[(1, '\u7537'), (0, '\u5973')]),
18
+        ),
19
+    ]

+ 4 - 2
account/models.py

@@ -7,8 +7,8 @@ from pai2.basemodels import CreateUpdateMixin
7 7
 
8 8
 
9 9
 class LensmanInfo(CreateUpdateMixin):
10
-    MALE = 0
11
-    FEMALE = 1
10
+    MALE = 1
11
+    FEMALE = 0
12 12
 
13 13
     SEX_TYPE = (
14 14
         (MALE, u'男'),
@@ -95,11 +95,13 @@ class UserInfo(CreateUpdateMixin):
95 95
     APP_USER = 0
96 96
     WX_USER = 1
97 97
     GUEST_USER = 9
98
+    LENSMAN_USER = 10
98 99
 
99 100
     USER_FROM = (
100 101
         (APP_USER, u'APP 创建用户'),
101 102
         (WX_USER, u'微信授权用户'),
102 103
         (GUEST_USER, u'游客用户'),
104
+        (LENSMAN_USER, u'摄影师用户'),
103 105
     )
104 106
 
105 107
     UNVERIFIED = 0