部分优化
This commit is contained in:
parent
27dd44d436
commit
faab2f954a
|
@ -0,0 +1,21 @@
|
||||||
|
# Generated by Django 3.2.12 on 2022-11-01 09:39
|
||||||
|
|
||||||
|
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),
|
||||||
|
('hrm', '0005_alter_employee_phone'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='employee',
|
||||||
|
name='user',
|
||||||
|
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='employee', to=settings.AUTH_USER_MODEL, verbose_name='系统账号'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -24,7 +24,7 @@ class Employee(CommonBModel):
|
||||||
user = models.OneToOneField(User,
|
user = models.OneToOneField(User,
|
||||||
verbose_name='系统账号',
|
verbose_name='系统账号',
|
||||||
related_name='employee',
|
related_name='employee',
|
||||||
on_delete=models.CASCADE, null=True, blank=True)
|
on_delete=models.SET_NULL, null=True, blank=True)
|
||||||
name = models.CharField('姓名', max_length=20)
|
name = models.CharField('姓名', max_length=20)
|
||||||
phone = models.CharField('手机号', max_length=11, null=True, blank=True)
|
phone = models.CharField('手机号', max_length=11, null=True, blank=True)
|
||||||
email = models.EmailField('邮箱号', null=True, blank=True)
|
email = models.EmailField('邮箱号', null=True, blank=True)
|
||||||
|
|
|
@ -46,7 +46,7 @@ class EmployeeViewSet(CustomModelViewSet):
|
||||||
create_serializer_class = EmployeeCreateUpdateSerializer
|
create_serializer_class = EmployeeCreateUpdateSerializer
|
||||||
update_serializer_class = EmployeeCreateUpdateSerializer
|
update_serializer_class = EmployeeCreateUpdateSerializer
|
||||||
partial_update_serializer_class = EmployeeCreateUpdateSerializer
|
partial_update_serializer_class = EmployeeCreateUpdateSerializer
|
||||||
search_fields = ['name', 'number', 'user__username', 'id_number']
|
search_fields = ['name', 'number', 'user__username', 'id_number', 'id']
|
||||||
ordering = ['-pk']
|
ordering = ['-pk']
|
||||||
|
|
||||||
# def filter_queryset(self, queryset):
|
# def filter_queryset(self, queryset):
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 3.2.12 on 2022-11-01 07:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('opm', '0007_auto_20221015_2353'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='oplcate',
|
||||||
|
name='sort',
|
||||||
|
field=models.PositiveSmallIntegerField(default=1, verbose_name='排序'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Generated by Django 3.2.12 on 2022-11-01 09:39
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('opm', '0008_oplcate_sort'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='oplcate',
|
||||||
|
name='workflow',
|
||||||
|
),
|
||||||
|
]
|
|
@ -13,9 +13,6 @@ class OplCate(CommonAModel):
|
||||||
name = models.CharField('名称', max_length=20, unique=True)
|
name = models.CharField('名称', max_length=20, unique=True)
|
||||||
sort = models.PositiveSmallIntegerField('排序', default=1)
|
sort = models.PositiveSmallIntegerField('排序', default=1)
|
||||||
description = models.TextField('描述', null=True, blank=True)
|
description = models.TextField('描述', null=True, blank=True)
|
||||||
workflow = models.ForeignKey('wf.workflow', verbose_name='使用的工作流',
|
|
||||||
on_delete=models.SET_NULL,
|
|
||||||
null=True, blank=True)
|
|
||||||
template_export = models.TextField('导出word模板', null=True, blank=True)
|
template_export = models.TextField('导出word模板', null=True, blank=True)
|
||||||
risk_options = models.ManyToManyField('system.dictionary',
|
risk_options = models.ManyToManyField('system.dictionary',
|
||||||
verbose_name='风险分析',
|
verbose_name='风险分析',
|
||||||
|
|
|
@ -30,7 +30,7 @@ class OplCateSerializer(CustomModelSerializer):
|
||||||
class OplCateSimpleSerializer(CustomModelSerializer):
|
class OplCateSimpleSerializer(CustomModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = OplCate
|
model = OplCate
|
||||||
fields = ['id', 'name', 'workflow', 'code', 'sort']
|
fields = ['id', 'name', 'code', 'sort']
|
||||||
|
|
||||||
|
|
||||||
class OplCateDetailSerializer(CustomModelSerializer):
|
class OplCateDetailSerializer(CustomModelSerializer):
|
||||||
|
|
|
@ -19,7 +19,7 @@ from django.core.cache import cache
|
||||||
|
|
||||||
|
|
||||||
class OplCateViewSet(CustomModelViewSet):
|
class OplCateViewSet(CustomModelViewSet):
|
||||||
queryset = OplCate.objects.all()
|
queryset = OplCate.objects.all().order_by('sort')
|
||||||
create_serializer_class = OplCateCreateUpdateSerializer
|
create_serializer_class = OplCateCreateUpdateSerializer
|
||||||
update_serializer_class = OplCateCreateUpdateSerializer
|
update_serializer_class = OplCateCreateUpdateSerializer
|
||||||
retrieve_serializer_class = OplCateDetailSerializer
|
retrieve_serializer_class = OplCateDetailSerializer
|
||||||
|
|
|
@ -421,7 +421,7 @@ class UserViewSet(CustomModelViewSet):
|
||||||
create_serializer_class = UserCreateSerializer
|
create_serializer_class = UserCreateSerializer
|
||||||
update_serializer_class = UserUpdateSerializer
|
update_serializer_class = UserUpdateSerializer
|
||||||
filterset_class = UserFilterSet
|
filterset_class = UserFilterSet
|
||||||
search_fields = ['username', 'name', 'phone', 'email']
|
search_fields = ['username', 'name', 'phone', 'email', 'id']
|
||||||
select_related_fields = ['superior', 'belong_dept', 'post']
|
select_related_fields = ['superior', 'belong_dept', 'post']
|
||||||
prefetch_related_fields = ['posts', 'roles', 'depts']
|
prefetch_related_fields = ['posts', 'roles', 'depts']
|
||||||
ordering = ['create_time', 'type']
|
ordering = ['create_time', 'type']
|
||||||
|
|
|
@ -11,7 +11,7 @@ class MyPagination(PageNumberPagination):
|
||||||
|
|
||||||
def paginate_queryset(self, queryset, request, view=None):
|
def paginate_queryset(self, queryset, request, view=None):
|
||||||
if request.query_params.get('pageoff', None) or request.query_params.get('page', None) == '0':
|
if request.query_params.get('pageoff', None) or request.query_params.get('page', None) == '0':
|
||||||
if queryset.count() < 500:
|
if queryset.count() < 800:
|
||||||
return None
|
return None
|
||||||
raise ParseError('单次请求数据量大,请分页获取')
|
raise ParseError('单次请求数据量大,请分页获取')
|
||||||
return super().paginate_queryset(queryset, request, view=view)
|
return super().paginate_queryset(queryset, request, view=view)
|
||||||
|
|
Loading…
Reference in New Issue