公司采用联合主键

This commit is contained in:
caoqianming 2021-04-11 16:03:37 +08:00
parent cdc3f68016
commit fb0aec0837
2 changed files with 6 additions and 5 deletions

View File

@ -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='') 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) create_admin = models.ForeignKey(UserProfile, default=1, on_delete=models.DO_NOTHING)
geo = JSONField('地理位置', null=True, blank=True) geo = JSONField('地理位置', null=True, blank=True)
class Meta: class Meta:
verbose_name = '客户企业' verbose_name = '客户企业'
verbose_name_plural = verbose_name verbose_name_plural = verbose_name
unique_together=("name","create_admin")
def __str__(self): def __str__(self):
return self.name return self.name

View File

@ -241,7 +241,7 @@ class ConsumerViewSet(ModelViewSet):
queryset = self.queryset queryset = self.queryset
queryset = self.get_serializer_class().setup_eager_loading(queryset) queryset = self.get_serializer_class().setup_eager_loading(queryset)
if self.request.user.is_superuser: if self.request.user.is_superuser:
return queryset pass
if self.request.query_params.get('adminoff', None): if self.request.query_params.get('adminoff', None):
return queryset.filter(create_admin__isnull=True) return queryset.filter(create_admin__isnull=True)
roles = self.request.user.roles.values_list('name', flat=True) roles = self.request.user.roles.values_list('name', flat=True)
@ -435,8 +435,9 @@ class ConsumerViewSet(ModelViewSet):
companyname = sheet['C'+str(m)].value companyname = sheet['C'+str(m)].value
if companyname: if companyname:
companyname = companyname.replace(' ', '') 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: else:
companyobj = Company.objects.create(name=companyname, create_admin=request.user) companyobj = Company.objects.create(name=companyname, create_admin=request.user)
geo = None geo = None