admin import consumer different

This commit is contained in:
caoqianming 2020-08-10 15:04:32 +08:00
parent 3924c85d25
commit ff97be9e95
3 changed files with 29 additions and 7 deletions

View File

@ -0,0 +1,21 @@
# Generated by Django 3.0.4 on 2020-08-10 06:40
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('crm', '0020_consumer_create_admin'),
]
operations = [
migrations.AddField(
model_name='company',
name='create_admin',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL),
),
]

View File

@ -12,7 +12,8 @@ class Company(CommonModel):
'''
name = models.CharField(max_length=60, verbose_name='名称', unique=True)
pid = models.ForeignKey('self', null=True, blank=True, on_delete=models.SET_NULL, verbose_name='')
create_admin = models.ForeignKey(UserProfile, default=1, on_delete=models.DO_NOTHING)
class Meta:
verbose_name = '客户企业'
verbose_name_plural = verbose_name

View File

@ -131,7 +131,7 @@ class ConsumerViewSet(ModelViewSet):
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
instance = serializer.save()
instance = serializer.save(create_admin=request.user)
if request.data.get('subjects', None):
for i in request.data.get('subjects'):
PaySubject.objects.get_or_create(consumer = instance, subject__id=i, defaults={'consumer':instance,'subject':Questioncat.objects.get(id=i)})
@ -294,10 +294,6 @@ class ConsumerViewSet(ModelViewSet):
return Response({"error":"工作类别列错误!"})
if sheet['e2'].value != '角色':
return Response({"error":"角色列错误!"})
companydict = {}
companys = Company.objects.filter(is_delete=0)
for i in companys:
companydict[i.name] = i.id
m = 3
while sheet['B'+str(m)].value:
name = sheet['A'+str(m)].value
@ -309,7 +305,10 @@ class ConsumerViewSet(ModelViewSet):
companyname = sheet['C'+str(m)].value
if companyname:
companyname = companyname.replace(' ', '')
companyobj = Company.objects.get_or_create(name=companyname)[0]
if Company.objects.filter(name=companyname).exists():
companyobj = Company.objects.get(name=companyname)
else:
companyobj = Company.objects.create(name=companyname, create_admin=request.user)
workscope = sheet['d'+str(m)].value
role = sheet['e'+str(m)].value
if Consumer.objects.filter(username = username).exists():
@ -317,6 +316,7 @@ class ConsumerViewSet(ModelViewSet):
else:
obj = Consumer()
obj.username = username
obj.create_admin = request.user
obj.name = name
obj.company = companyobj
obj.save()