first commit

This commit is contained in:
lihansani
2026-07-13 15:37:05 +08:00
commit 8b11aa2efc
299 changed files with 206339 additions and 0 deletions

View File

6
code/generator/apps.py Normal file
View File

@@ -0,0 +1,6 @@
from django.apps import AppConfig
class GeneratorConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'generator'

19
code/generator/router.py Normal file
View File

@@ -0,0 +1,19 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# time: 2022/7/21 14:10
# file: router.py
# author: 臧成龙
# QQ: 939589097
from ninja import Router
from .test_demo.api import router as test_demo_router
# from .template_test.api import router as template_test_router
from .test.api import router as test_router
generator_router = Router()
generator_router.add_router('/', test_demo_router, tags=['测试案例'])
# generator_router.add_router('/', template_test_router, tags=['测试1'])
generator_router.add_router('/', test_router, tags=['模板测试'])

View File

@@ -0,0 +1,83 @@
from typing import List
from .model import TemplateTest
from ninja import Field, ModelSchema, Query, Router
from ninja.pagination import paginate
from utils.fu_crud import (
ImportSchema,
create,
delete,
export_data,
import_data,
retrieve,
update,
)
from utils.fu_ninja import FuFilters, MyPagination
router = Router()
# 设置过滤字段
class Filters(FuFilters):
input_text_area_2: str = Field(None, alias='input_text_area_2')
input_1: str = Field(None, alias='input_1')
# 设置请求接收字段
class TemplateTestSchemaIn(ModelSchema):
class Config:
model = TemplateTest
model_exclude = ['create_datetime', 'update_datetime', 'belong_dept', 'modifier', 'creator', 'creator', 'id']
# 设置响应字段
class TemplateTestSchemaOut(ModelSchema):
class Config:
model = TemplateTest
model_fields = '__all__'
# 创建TemplateTest
@router.post('/template_test', response=TemplateTestSchemaOut)
def create_template_test(request, data: TemplateTestSchemaIn):
template_test = create(request, data, TemplateTest)
return template_test
# 删除TemplateTest
@router.delete('/template_test/{id}')
def delete_template_test(request, id: int):
delete(id, TemplateTest)
return {'success': True}
# 更新TemplateTest
@router.put('/template_test/{id}', response=TemplateTestSchemaOut)
def update_template_test(request, id: int, data: TemplateTestSchemaIn):
template_test = update(request, id, data, TemplateTest)
return template_test
# 获取TemplateTest
@router.get('/template_test', response=List[TemplateTestSchemaOut])
@paginate(MyPagination)
def list_template_test(request, filters: Filters = Query(...)):
qs = retrieve(request, TemplateTest, filters)
return qs
# 导入
@router.get('/template_test/all/export')
def export_template_test(request):
export_fields = ('input_text_area_2', 'input_1', )
return export_data(request, TemplateTest, TemplateTestSchemaOut, export_fields)
# 导出
@router.post('/template_test/all/import')
def import_template_test(request, data: ImportSchema):
import_fields = ('input_text_area_2', 'input_1', )
return import_data(request, TemplateTest, TemplateTestSchemaIn, data, import_fields)

View File

@@ -0,0 +1,15 @@
from django.db import models
from utils.models import CoreModel
class TemplateTest(CoreModel):
input_text_area_2 = models.TextField(null=True, blank=True, verbose_name='文本域', help_text='文本域')
input_1 = models.CharField(null=True, blank=True, max_length=255, verbose_name='输入框', help_text='输入框')
class Meta:
db_table = 'generator_template_test'
verbose_name = '测试1'
verbose_name_plural = verbose_name
ordering = ('-create_datetime',)

View File

@@ -0,0 +1,6 @@
from ninja import Router
from .api import router
template_test_router = Router()
template_test_router.add_router('/', router, tags=['测试1'])

View File

@@ -0,0 +1,85 @@
from typing import List
from .model import Test
from ninja import Field, ModelSchema, Query, Router
from ninja.pagination import paginate
from utils.fu_crud import (
ImportSchema,
create,
delete,
export_data,
import_data,
retrieve,
update,
)
from utils.fu_ninja import FuFilters, MyPagination
router = Router()
# 设置过滤字段
class Filters(FuFilters):
icon: str = Field(None, alias='icon')
sequence: int = Field(None, alias='sequence')
code: str = Field(None, alias='code')
name: str = Field(None, alias='name')
# 设置请求接收字段
class TestSchemaIn(ModelSchema):
class Config:
model = Test
model_exclude = ['create_datetime', 'update_datetime', 'belong_dept', 'modifier', 'creator', 'creator', 'id']
# 设置响应字段
class TestSchemaOut(ModelSchema):
class Config:
model = Test
model_fields = '__all__'
# 创建Test
@router.post('/test', response=TestSchemaOut)
def create_test(request, data: TestSchemaIn):
test = create(request, data, Test)
return test
# 删除Test
@router.delete('/test/{id}')
def delete_test(request, id: int):
delete(id, Test)
return {'success': True}
# 更新Test
@router.put('/test/{id}', response=TestSchemaOut)
def update_test(request, id: int, data: TestSchemaIn):
test = update(request, id, data, Test)
return test
# 获取Test
@router.get('/test', response=List[TestSchemaOut])
@paginate(MyPagination)
def list_test(request, filters: Filters = Query(...)):
qs = retrieve(request, Test, filters)
return qs
# 导入
@router.get('/test/all/export')
def export_test(request):
export_fields = ('icon', 'sequence', 'code', 'name', )
return export_data(request, Test, TestSchemaOut, export_fields)
# 导出
@router.post('/test/all/import')
def import_test(request, data: ImportSchema):
import_fields = ('icon', 'sequence', 'code', 'name', )
return import_data(request, Test, TestSchemaIn, data, import_fields)

View File

@@ -0,0 +1,17 @@
from django.db import models
from utils.models import CoreModel
class Test(CoreModel):
icon = models.CharField(null=True, blank=True, max_length=255, verbose_name='图标', help_text='图标')
sequence = models.DecimalField(null=True, blank=True, max_digits = 13, decimal_places = 4, verbose_name='排序', help_text='排序')
code = models.CharField(null=True, blank=True, max_length=255, verbose_name='代码', help_text='代码')
name = models.CharField(null=True, blank=True, max_length=255, verbose_name='名称', help_text='名称')
class Meta:
db_table = 'generator_test'
verbose_name = '模板测试'
verbose_name_plural = verbose_name
ordering = ('-create_datetime',)

View File

@@ -0,0 +1,6 @@
from ninja import Router
from .api import router
test_router = Router()
test_router.add_router('/', router, tags=['模板测试'])

View File

@@ -0,0 +1,84 @@
from typing import List
from .model import TestDemo
from ninja import Field, ModelSchema, Query, Router
from ninja.pagination import paginate
from utils.fu_crud import (
ImportSchema,
create,
delete,
export_data,
import_data,
retrieve,
update,
)
from utils.fu_ninja import FuFilters, MyPagination
router = Router()
# 设置过滤字段
class Filters(FuFilters):
des: str = Field(None, alias='des')
code: int = Field(None, alias='code')
name: str = Field(None, alias='name')
# 设置请求接收字段
class TestDemoSchemaIn(ModelSchema):
class Config:
model = TestDemo
model_exclude = ['create_datetime', 'update_datetime', 'belong_dept', 'modifier', 'creator', 'creator', 'id']
# 设置响应字段
class TestDemoSchemaOut(ModelSchema):
class Config:
model = TestDemo
model_fields = '__all__'
# 创建TestDemo
@router.post('/test_demo', response=TestDemoSchemaOut)
def create_test_demo(request, data: TestDemoSchemaIn):
test_demo = create(request, data, TestDemo)
return test_demo
# 删除TestDemo
@router.delete('/test_demo/{id}')
def delete_test_demo(request, id: int):
delete(id, TestDemo)
return {'success': True}
# 更新TestDemo
@router.put('/test_demo/{id}', response=TestDemoSchemaOut)
def update_test_demo(request, id: int, data: TestDemoSchemaIn):
test_demo = update(request, id, data, TestDemo)
return test_demo
# 获取TestDemo
@router.get('/test_demo', response=List[TestDemoSchemaOut])
@paginate(MyPagination)
def list_test_demo(request, filters: Filters = Query(...)):
qs = retrieve(request, TestDemo, filters)
return qs
# 导入
@router.get('/test_demo/all/export')
def export_test_demo(request):
export_fields = ('des', 'code', 'name', )
return export_data(request, TestDemo, TestDemoSchemaOut, export_fields)
# 导出
@router.post('/test_demo/all/import')
def import_test_demo(request, data: ImportSchema):
import_fields = ('des', 'code', 'name', )
return import_data(request, TestDemo, TestDemoSchemaIn, data, import_fields)

View File

@@ -0,0 +1,16 @@
from django.db import models
from utils.models import CoreModel
class TestDemo(CoreModel):
des = models.TextField(null=True, blank=True, verbose_name='描述', help_text='描述')
code = models.DecimalField(null=True, blank=True, max_digits = 13, decimal_places = 4, verbose_name='编码', help_text='编码')
name = models.CharField(null=True, blank=True, max_length=255, verbose_name='名称', help_text='名称')
class Meta:
db_table = 'generator_test_demo'
verbose_name = '测试案例'
verbose_name_plural = verbose_name
ordering = ('-create_datetime',)

View File

@@ -0,0 +1,6 @@
from ninja import Router
from .api import router
test_demo_router = Router()
test_demo_router.add_router('/', router, tags=['测试案例'])