bug修复

This commit is contained in:
caoqianming 2022-04-11 11:36:43 +08:00
parent cff1ecbe00
commit 57adbea2f0
9 changed files with 46 additions and 85 deletions

View File

@ -1,6 +1,5 @@
# Generated by Django 3.2.12 on 2022-04-08 00:58 # Generated by Django 3.2.12 on 2022-04-11 03:20
import apps.utils.snowflake
from django.conf import settings from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
@ -19,10 +18,10 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='DrfRequestLog', name='DrfRequestLog',
fields=[ fields=[
('id', models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('id', models.UUIDField(primary_key=True, serialize=False)),
('requested_at', models.DateTimeField(db_index=True)), ('requested_at', models.DateTimeField(db_index=True)),
('response_ms', models.PositiveIntegerField(default=0)), ('response_ms', models.PositiveIntegerField(default=0)),
('path', models.CharField(db_index=True, help_text='请求地址', max_length=400)), ('path', models.CharField(db_index=True, help_text='请求地址', max_length=400)),
@ -35,6 +34,7 @@ class Migration(migrations.Migration):
('data', models.TextField(blank=True, null=True)), ('data', models.TextField(blank=True, null=True)),
('response', models.TextField(blank=True, null=True)), ('response', models.TextField(blank=True, null=True)),
('errors', models.TextField(blank=True, null=True)), ('errors', models.TextField(blank=True, null=True)),
('agent', models.TextField(blank=True, null=True)),
('status_code', models.PositiveIntegerField(blank=True, db_index=True, null=True)), ('status_code', models.PositiveIntegerField(blank=True, db_index=True, null=True)),
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
], ],

View File

@ -0,0 +1,19 @@
# Generated by Django 3.2.12 on 2022-04-11 03:27
from django.db import migrations, models
import uuid
class Migration(migrations.Migration):
dependencies = [
('monitor', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='drfrequestlog',
name='id',
field=models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False),
),
]

View File

@ -1,3 +1,4 @@
import uuid
from django.db import models from django.db import models
from apps.utils.models import BaseModel from apps.utils.models import BaseModel
@ -5,6 +6,7 @@ from apps.utils.models import BaseModel
class DrfRequestLog(BaseModel): class DrfRequestLog(BaseModel):
"""Logs Django rest framework API requests""" """Logs Django rest framework API requests"""
id = models.UUIDField(primary_key=True, default=uuid.uuid4)
user = models.ForeignKey( user = models.ForeignKey(
'system.user', 'system.user',
on_delete=models.SET_NULL, on_delete=models.SET_NULL,

View File

@ -1,6 +1,5 @@
# Generated by Django 3.2.12 on 2022-04-02 01:21 # Generated by Django 3.2.12 on 2022-04-11 03:20
import apps.utils.snowflake
from django.conf import settings from django.conf import settings
import django.contrib.auth.models import django.contrib.auth.models
import django.contrib.auth.validators import django.contrib.auth.validators
@ -31,7 +30,7 @@ class Migration(migrations.Migration):
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
('id', models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -51,13 +50,14 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Dept', name='Dept',
fields=[ fields=[
('id', models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('name', models.CharField(max_length=60, verbose_name='名称')), ('name', models.CharField(max_length=60, verbose_name='名称')),
('type', models.PositiveSmallIntegerField(choices=[(10, '公司'), (20, '部门')], default=20, verbose_name='类型')), ('type', models.PositiveSmallIntegerField(choices=[(10, '公司'), (20, '部门')], default=20, verbose_name='类型')),
('sort', models.PositiveSmallIntegerField(default=1, verbose_name='排序标记')), ('sort', models.PositiveSmallIntegerField(default=1, verbose_name='排序标记')),
('third_info', models.JSONField(default=dict, verbose_name='三方系统信息')),
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='dept_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')), ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='dept_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.dept', verbose_name='')), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.dept', verbose_name='')),
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='dept_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')), ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='dept_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
@ -71,7 +71,7 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Permission', name='Permission',
fields=[ fields=[
('id', models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -90,7 +90,7 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Post', name='Post',
fields=[ fields=[
('id', models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -109,7 +109,7 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='UserPost', name='UserPost',
fields=[ fields=[
('id', models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -128,7 +128,7 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Role', name='Role',
fields=[ fields=[
('id', models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -158,7 +158,7 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='File', name='File',
fields=[ fields=[
('id', models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -179,7 +179,7 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='DictType', name='DictType',
fields=[ fields=[
('id', models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -238,7 +238,7 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Dict', name='Dict',
fields=[ fields=[
('id', models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')),
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),

View File

@ -1,64 +0,0 @@
# Generated by Django 3.2.12 on 2022-04-06 06:58
import apps.utils.snowflake
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('system', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='dept',
name='third_info',
field=models.JSONField(default=dict, verbose_name='三方系统信息'),
),
migrations.AlterField(
model_name='dept',
name='id',
field=models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID'),
),
migrations.AlterField(
model_name='dict',
name='id',
field=models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID'),
),
migrations.AlterField(
model_name='dicttype',
name='id',
field=models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID'),
),
migrations.AlterField(
model_name='file',
name='id',
field=models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID'),
),
migrations.AlterField(
model_name='permission',
name='id',
field=models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID'),
),
migrations.AlterField(
model_name='post',
name='id',
field=models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID'),
),
migrations.AlterField(
model_name='role',
name='id',
field=models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID'),
),
migrations.AlterField(
model_name='user',
name='id',
field=models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID'),
),
migrations.AlterField(
model_name='userpost',
name='id',
field=models.CharField(default=apps.utils.snowflake.IdWorker.get_id, editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID'),
),
]

View File

@ -183,7 +183,7 @@ class DeptCreateUpdateSerializer(CustomModelSerializer):
""" """
部门序列化 部门序列化
""" """
parent = serializers.PrimaryKeyRelatedField(queryset = Dept.objects.all(), required=True)
class Meta: class Meta:
model = Dept model = Dept
exclude = EXCLUDE_FIELDS + ['third_info'] exclude = EXCLUDE_FIELDS + ['third_info']

View File

@ -78,7 +78,7 @@ class MyLoggingMixin(object):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
def initial(self, request, *args, **kwargs): def initial(self, request, *args, **kwargs):
request_id = idWorker.get_id() request_id = uuid.uuid4()
self.log = {"requested_at": now(), "id":request_id} self.log = {"requested_at": now(), "id":request_id}
setattr(request, 'request_id', request_id) setattr(request, 'request_id', request_id)
if not getattr(self, "decode_request_body", False): if not getattr(self, "decode_request_body", False):

View File

@ -3,8 +3,8 @@ import django.utils.timezone as timezone
from django.db import models from django.db import models
from django.db.models.query import QuerySet from django.db.models.query import QuerySet
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from apps.utils.snowflake import idWorker from apps.utils.snowflake import IdWorker, idWorker
from typing import Iterable, Optional
# 自定义软删除查询基类 # 自定义软删除查询基类
@ -57,8 +57,7 @@ class BaseModel(models.Model):
""" """
基本表 基本表
""" """
id = models.CharField(max_length=20, primary_key=True, default=idWorker.get_id, id = models.CharField(max_length=20, primary_key=True, editable=False, verbose_name='主键ID', help_text='主键ID')
editable=False, verbose_name='主键ID', help_text='主键ID')
create_time = models.DateTimeField( create_time = models.DateTimeField(
default=timezone.now, verbose_name='创建时间', help_text='创建时间') default=timezone.now, verbose_name='创建时间', help_text='创建时间')
update_time = models.DateTimeField( update_time = models.DateTimeField(
@ -69,6 +68,11 @@ class BaseModel(models.Model):
class Meta: class Meta:
abstract = True abstract = True
def save(self, *args, **kwargs) -> None:
if not self.id:
self.id = idWorker.get_id()
return super().save(*args, **kwargs)
class SoftModel(BaseModel): class SoftModel(BaseModel):
""" """

View File

@ -21,7 +21,7 @@ class CustomModelSerializer(DynamicFieldsMixin, serializers.ModelSerializer):
validated_data['create_by'] = self.request.user validated_data['create_by'] = self.request.user
if getattr(self.request.user, 'belong_dept', None): if getattr(self.request.user, 'belong_dept', None):
validated_data['belong_dept'] = self.request.user.belong_dept validated_data['belong_dept'] = self.request.user.belong_dept
return super().update(validated_data) return super().create(validated_data)
def update(self, instance, validated_data): def update(self, instance, validated_data):
if self.request: if self.request: