问一问 Django 的分表操作

2018-12-21 14:42:49 +08:00
 holajamc

现在有一个问题,数据库每天会创建一张新的表,表名格式大概为:

'prefix_{}'.format(datetime.datetime.now().strftime("%Y%m%d"))

而现在在开发一个 Django 后端程序,仅仅需要用 django-admin 链接数据库进行一些很基础的信息展示即可。不过现在卡在了怎么才能动态的使用 model 更换数据库表名,拿到当前日期的数据呢?

2086 次点击
所在节点    Python
7 条回复
NaVient
2018-12-21 15:31:22 +08:00
既然只是为了展示一些基础数据为什么不直接写 SQL 呢?
holajamc
2018-12-21 15:36:22 +08:00
@NaVient 懒……并且想试试 Django 的这部分功能,外加不知道以后是否会增加需求,综合以上三点没有选 SQL
NaVient
2018-12-21 15:41:00 +08:00
@holajamc 试试更改 self.Meta.db_table 呢
NaVient
2018-12-21 15:41:18 +08:00
@holajamc 我指的是你模型类的 self
holajamc
2018-12-21 16:03:29 +08:00
virusdefender
2018-12-21 16:07:01 +08:00
什么数据库啊,可以从数据库层面的 partition 解决问题,使用主表表名,然后自动路由到正确的子表上去。

https://www.postgresql.org/docs/current/ddl-partitioning.html
holajamc
2018-12-21 16:12:58 +08:00
@virusdefender 唔谢谢大佬回复,用的是 MySQL,我去看看这种方法是否可行~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/519748

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX