gpt4 book ai didi

php - Django 为同一模型创建不同的表

转载 作者:行者123 更新时间:2023-11-29 01:58:14 25 4
gpt4 key购买 nike

早些时候,我在没有任何框架的情况下使用 PHP,用于面向服务的 Web 应用程序,其中我必须存储大量要存储的数据,这些数据可以很容易地删除并且易于备份;所以我编写了代码,每个月将相同的数据存储在相同架构的不同表中,这样就可以轻松地运行删除表查询或创建表备份,而不是对整个表运行查询。

+------------------+---------------------------+
| data_2014_01_01 | will store data of jan |
| data_2014_02_01 | will store data of feb |
| data_2014_03_01 | will store data of march |
+------------------+---------------------------+

等等。

由于我正在将代码迁移到 django,我怎样才能完成同样的事情,因为 django ORM 为要存储在这里的每个数据项创建了一个表,因此删除了现在只能识别的无用的旧记录by timestamp 花费太多时间并且备份它也很痛苦,因为表的大小非常大。

请在这里给我一些技巧建议,欢迎任何想法。

提前致谢。

最佳答案

这是一个选项。

既然您要迁移到 Django,我建议您遵循最佳实践并开始使用 South马上:

South is a tool to provide consistent, easy-to-use and database-agnostic migrations for Django applications.

此外,我会将您的所有表格合并为一个带有时间戳字段的表格 - 这样应用程序就可以更轻松地与您的数据“对话”。

然后,除了设置 South 之外,还有一些您只需执行一次的步骤:

  • 创建您的架构 - 定义您的模型,创建初始架构迁移并运行它。
  • 写一个data migration这会将数据从多个 data_%Y_%m_%d 表移动到由您的架构迁移表新创建的表中。运行数据迁移。

另请查看 django-parting项目 - 它看起来不是很成熟并且可以使用,但是,至少,看看他们如何管理每个模型的多个表(基本上它有点 Model Manager “魔法”)。

希望对您有所帮助。

关于php - Django 为同一模型创建不同的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22264667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com