# 创建 Template 模板表

代码位置 (opens new window)

from aestate.dbs._mysql import tag
from aestate.work.Config import MySqlConfig
from aestate.work.Manage import Pojo
class table_template(Manage.Pojo):
    def __init__(self, **kwargs):
        """
        模板类对象
        """
        # 创建一个自增的主键id,并且不允许为空
        self.id = tag.intField(primary_key=True, auto_field=True, is_null=False, comment='主键自增')
        # 创建一个创建时间,并设置`auto_time=True`,在第一次保存时可以为其设置默认为当前时间
        self.create_time = tag.datetimeField(auto_time=True, is_null=False, comment='创建时间')
        # 创建一个更新时间,并设置`update_auto_time=True`,保证每次修改都会更新为当前时间
        self.update_time = tag.datetimeField(update_auto_time=True, is_null=False, comment='更新实际按')
        # 设置config_obj未db_conf的对象,
        super(table_template, self).__init__(
            # 导入配置类
            config_obj=DatabaseConfig(),
            # 设置日志配置
            log_conf={
                # 保存位置
                'path': "/log/",
                # 是否允许保存日志
                'save_flag': True,
                # 当日志到达多少MB时删除日志重新记录
                'max_clear': 100
            },
            # 必备的字段,每一个Pojo对象都必须包含一个`**kwargs`
            **kwargs)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# 配置解释

# config_obj

导入我们前面的配置类,注意要实例化

# log_conf

path:保存日志的位置
save_flag:是否要保存日志
max_clear:当日志到达多少时删除日志重新记录

# **kwargs

每个类表都需要携带**kwargs才可以进行初始化

# 字段设置(以 mysql 为示例)

首先从 aestate.dbs._mysql 导入 tag ,我们可以通过 ide 的提示看到,tag下包含非常多的字段类型,有:

"Template",
"baseTag",
"bigintField",
"boolField",
"charField",
"datetime",
"datetimeField",
"doubleField",
"floatField",
"intField",
"longtextField",
"textField",
"tinyintField",
"tinytextField",
"update_field",
"varcharField"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Template 作为 mysql 基本类型的父类,所有的字段类型都是从此处转发到 baseTag,如果我们已有的类型满足不了使用的需求,可以通过继承 baseTag 进行扩展字段的功能,baseTag 目前可接受参数有:

name:字段名
length:长度
d_point:小数点
t_type:类型
is_null:允许为空
primary_key:键
comment:注释
auto_field:自增长键
auto_time:默认设置当前时间
update_auto_time:默认设置当前时间并根据当前时间更新
default:默认值
1
2
3
4
5
6
7
8
9
10
11
Last Updated: 10/31/2021, 11:22:17 PM