peewee 表生成的时候怎么加统一前缀
来源:7-2 model的定义和表的自动生成

DSMARK
2020-10-24
这个自动给表加前缀怎么用啊?
写回答
3回答
-
bobby
2020-11-09
# -*- coding: utf-8 -*- from datetime import datetime from peewee import * db = MySQLDatabase( "mxshop_test", host="127.0.0.1", port=3306, user="root", password="root" ) def make_table_name(model_class): model_name = model_class.__name__ return "myprefix_" + model_name.lower() class BaseModel(Model): create_time = DateTimeField(verbose_name="创建时间", default=datetime.now()) class Meta: database = db table_function = make_table_name class User(BaseModel): openid = CharField(verbose_name="用户唯一标识", index=True, unique=True) nickname = CharField(max_length=20, verbose_name="昵称") avatar = CharField(max_length=200, verbose_name="头像", null=True) notices = IntegerField(verbose_name="订阅消息次数", default=0) login_time = DateTimeField(verbose_name="登录时间") if __name__ == '__main__': db.create_tables([User])
这是你的代码整理了 我这里生成表的时候能加前缀啊
022020-11-10 -
DSMARK
提问者
2020-11-07
user.py
# -*- coding: utf-8 -*- from peewee import * from common.models import BaseModel class User(BaseModel): openid = CharField(verbose_name="用户唯一标识",index=True,unique=True) nickname = CharField(max_length=20,verbose_name="昵称") avatar = CharField(max_length=200,verbose_name="头像",null=True) notices = IntegerField(verbose_name="订阅消息次数",default=0) login_time = DateTimeField(verbose_name="登录时间")
common.py
# -*- coding: utf-8 -*- from datetime import datetime from .settings import settings from peewee import * db = MySQLDatabase( settings['db']['name'], host=settings['db']['host'], port=settings['db']['port'], user=settings['db']['user'], password=settings['db']['pwd'] ) def make_table_name(model_class): model_name = model_class.__name__ return settings['table_prefix'] + model_name.lower() class BaseModel(Model): create_time = DateTimeField(verbose_name="创建时间",default = datetime.now()) class Meta: database = db table_function = make_table_name
00 -
bobby
2020-10-28
你这里更加这个配置有问题?
032020-11-07
相似问题