【问题标题】:Remake Django Model Every time每次都重新制作 Django 模型
【发布时间】:2015-11-26 03:20:00
【问题描述】:

我开始制作我的项目时没有意识到每次我填充我的数据库表时它都会添加到现有数据中。我以为它会删除旧数据并添加新数据!

有什么方法可以轻松完成我上面描述的操作吗?如果不是,你会如何建议我做这样的事情?

【问题讨论】:

  • 你写的'每次我改变我的模型数据',你真的是指'每次我改变我的模型类'吗?
  • 所以我有一个 csv 文件来填充我的模块。每次我更改发生的 csv。
  • 您能否重写您的问题以包含 CSV 部分。在 python 中,模块就是 python 代码,你不能从 CSV 文件中填充模块;但您可以填充数据库表或模型。请尽量清晰,您可以包含源代码(格式正确,请)。我今天要走了,但如果你能把你的问题更新得更清楚,我明天可以帮你回答。 :)
  • 你说这个问题已经解决了,但我们还没有更接近于理解它。每次填充数据库时,数据都会添加到现有数据中,无论您使用什么编程语言和平台
  • 你想保留旧数据吗?如果没有,只需将其吹走并插入新的。如果您想保留旧数据,“版本控制”可能是一个好方法 - 每个插入都有一个特定的版本号。

标签: python django sqlite python-2.7 django-models


【解决方案1】:

您可能应该使用迁移: https://docs.djangoproject.com/en/1.8/topics/migrations/

您应该阅读模型教程,最后它谈到了迁移: https://docs.djangoproject.com/en/1.8/intro/tutorial01/

如果您使用的是 Django 1.6 或更早版本,您应该使用 south 来管理您的迁移: http://south.readthedocs.org/en/latest/

迁移有助于管理模型的版本,每次更改模型时,您都会创建一个迁移并应用它。创建迁移可以是自动的,south 和 django >= 1.7 都可以找到模型中的更改并创建迁移文件。迁移文件是能够对数据库进行更改的 python 文件。然后应用迁移并在数据库中完成更改。要创建迁移并应用它们,您必须手动运行命令。

拥有此类文件的原因是版本管理,您可以返回之前的迁移并像以前一样拥有您的数据库。阅读文档以了解执行此操作的简单命令,您肯定会在几个小时内获得它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-27
    • 2020-12-28
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    相关资源
    最近更新 更多