日志数据按月分表,需要根据月份动态切换表。日志表的字段都是一样,只有表名不一样。刚开始只是改了__tablename__属性,最终表没有切换成功。具体原因不太清楚,后来改了一种方式,在需要切换表的时候,重新创建一个新的类,指定表名,就可以了。
具体实现:
type('UserLogModel{}{}'.format(year, month), (BaseUserLogModel, ),
{'__tablename__': table_name})