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.db import migrations, models
import django.db.models.deletion
@ -19,10 +18,10 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='DrfRequestLog',
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='创建时间')),
('update_time', models.DateTimeField(auto_now=True, 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)),
('response_ms', models.PositiveIntegerField(default=0)),
('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)),
('response', 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)),
('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 apps.utils.models import BaseModel
@ -5,6 +6,7 @@ from apps.utils.models import BaseModel
class DrfRequestLog(BaseModel):
"""Logs Django rest framework API requests"""
id = models.UUIDField(primary_key=True, default=uuid.uuid4)
user = models.ForeignKey(
'system.user',
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
import django.contrib.auth.models
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_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')),
('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='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -51,13 +50,14 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Dept',
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='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
('name', models.CharField(max_length=60, verbose_name='名称')),
('type', models.PositiveSmallIntegerField(choices=[(10, '公司'), (20, '部门')], default=20, 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='创建人')),
('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='最后编辑人')),
@ -71,7 +71,7 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Permission',
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='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -90,7 +90,7 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Post',
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='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -109,7 +109,7 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='UserPost',
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='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -128,7 +128,7 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Role',
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='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -158,7 +158,7 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='File',
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='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -179,7 +179,7 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='DictType',
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='创建时间')),
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
@ -238,7 +238,7 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Dict',
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='创建时间')),
('update_time', models.DateTimeField(auto_now=True, 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:
model = Dept
exclude = EXCLUDE_FIELDS + ['third_info']

View File

@ -78,7 +78,7 @@ class MyLoggingMixin(object):
super().__init__(*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}
setattr(request, 'request_id', request_id)
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.models.query import QuerySet
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,
editable=False, verbose_name='主键ID', help_text='主键ID')
id = models.CharField(max_length=20, primary_key=True, editable=False, verbose_name='主键ID', help_text='主键ID')
create_time = models.DateTimeField(
default=timezone.now, verbose_name='创建时间', help_text='创建时间')
update_time = models.DateTimeField(
@ -69,6 +68,11 @@ class BaseModel(models.Model):
class Meta:
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):
"""

View File

@ -21,7 +21,7 @@ class CustomModelSerializer(DynamicFieldsMixin, serializers.ModelSerializer):
validated_data['create_by'] = self.request.user
if getattr(self.request.user, 'belong_dept', None):
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):
if self.request: