如何将django模型与预先存在的数据库同步?

时间:2014-03-21 18:05:13

标签: django postgresql django-models django-database

我很难为我的项目设计一个合理的设计。我有一个现有的Postgres数据库,可以从其他Python脚本不断更新。 基于Django框架构建的Web服务器将访问Postgres数据库以仅更新用户模型并显示登录用户的博客信息。博客信息是其他Python脚本在一夜之间更新的内容。

现在我的问题是,如果我必须使用现有的Postgres数据库syncdb blog model,那会导致任何问题吗? 例如:

models.py
class Blog:
   title=...
   content=...
   author=....

并说我的Postgres数据库mydb有很多表,其中一个是blog表,包含titlecontentauthor的列。 如何使我的模型与现有数据库同步? 现在假设我在我的数据库中包含了一个新列date of entry

如果我只是将我的模型更新为:

class Blog:
   title=...
   content=...
   author=....
   date of entry=...

会起作用吗?

这里有哪些潜在的问题以及针对这些问题的更简单的解决方案?

P.S:我过去曾使用South。但这里的情况有所不同。我正在使用从Django的角度来看只读的db,到目前为止还不需要进行数据迁移。

1 个答案:

答案 0 :(得分:2)

如果您的数据库是只读的,则不必执行syncdb。使用模型上的managed=Falsedb_table meta option来指定它对应的表名,并使用likewise作为字段列名称。

如果您还没有,请参阅the doc on legacy databases了解详情。