diff --git a/test_server/crm/models.py b/test_server/crm/models.py index e372b19..4dc675d 100644 --- a/test_server/crm/models.py +++ b/test_server/crm/models.py @@ -10,14 +10,14 @@ class Company(CommonModel): ''' 客户企业 ''' - name = models.CharField(max_length=60, verbose_name='名称', unique=True) + name = models.CharField(max_length=60, verbose_name='名称') 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) geo = JSONField('地理位置', null=True, blank=True) class Meta: verbose_name = '客户企业' verbose_name_plural = verbose_name - + unique_together=("name","create_admin") def __str__(self): return self.name diff --git a/test_server/crm/views.py b/test_server/crm/views.py index 9f5601f..aa2a866 100644 --- a/test_server/crm/views.py +++ b/test_server/crm/views.py @@ -241,7 +241,7 @@ class ConsumerViewSet(ModelViewSet): queryset = self.queryset queryset = self.get_serializer_class().setup_eager_loading(queryset) if self.request.user.is_superuser: - return queryset + pass if self.request.query_params.get('adminoff', None): return queryset.filter(create_admin__isnull=True) roles = self.request.user.roles.values_list('name', flat=True) @@ -435,8 +435,9 @@ class ConsumerViewSet(ModelViewSet): companyname = sheet['C'+str(m)].value if companyname: companyname = companyname.replace(' ', '') - if Company.objects.filter(name=companyname).exists(): - companyobj = Company.objects.get(name=companyname) + #公司同名但两个管理员创建,则属于两个公司 + if Company.objects.filter(name=companyname, create_amin=request.user).exists(): + companyobj = Company.objects.get(name=companyname, create_amin=request.user) else: companyobj = Company.objects.create(name=companyname, create_admin=request.user) geo = None