在我们的项目目录创建一个名为db_base.py文件,用于保存我们的全局配置和模板
然后我们来

# 创建一个数据库配置

代码位置 (opens new window)

class MyAdapter(LanguageAdapter):
    def __init__(self):
        self.funcs['love'] = self.love

    def love(self, instance, key, value):
        self._like_opera(instance, key, value)

from aestate.work.Config import MySqlConfig
class DatabaseConfig(MySqlConfig):
    def __init__(self):
        # 设置全局打印sql语句
        self.set_field('print_sql', True)
        # 设置全局插入语句返回最后一行id
        self.set_field('last_id', True)
        # 适配器 1.0.4版本更新之后在初始化部分使用,而非super()
        self.adapter = MyAdapter()
        super(DatabaseConfig, self).__init__(
            # 数据库地址
            host='localhost',
            # 数据库端口
            port=3306,
            # 数据库名
            database='_demo',
            # 数据库用户
            user='root',
            # 数据库密码
            password='123456',
            # 数据库创建者,如果你用的是mysql,那么这里就是pymysql,如果用的是sqlserver,那么这里就应该是pymssql
            db_type='pymysql')
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

# 配置解释

是否在执行之前打印 sql 语句 默认 False,通过使用self.set_field('print_sql', True)"设置

# last_id

是否需要在 insert 插入操作结束后返回最后一行的行号,默认只返回受影响行数 默认 False

# host

使用你的目标数据库链接地址,比如本机的用 localhost 或者 127.0.0.1

# port

端口,mysql 默认 3306,sqlserver 默认 1433

# database

数据库的名字,比如教程中使用的数据库名字叫做_demo

# user

链接数据库时所使用的用户名,例如:root

# password

链接数据库时所使用的用户对应的密码

# charset

部分驱动不支持 charset 字段,比如 pgsql,如果你使用的是 mysql 或者 sqlserver,你可以在结尾处加上 charset='utf8'

# db_type

驱动类型,需要先安装你所需要对应的数据库驱动,例如 mysql 需要先安装 pymysql,然后将这个库的名字写成字符串结构传入配置参数

# adapter

适配器,用于查询时的高级操作,你可以参考位于 aestate.work.Adapter.LanguageAdapter去编写自定义的语法用于筛选过滤,这里给出一个示例:

# 使用双下划线用于对自定义的适配器进行调用
r6 = demo.orm.find().where(name__love='a').end()
1
2
Last Updated: 2/8/2022, 9:50:03 PM