【问题标题】:Django: How to get South to create tables for third-party apps added to INSTALL_APPS?Django:如何让 South 为添加到 INSTALL_APPS 的第三方应用程序创建表?
【发布时间】:2011-08-26 15:25:24
【问题描述】:

我正在尝试在我的项目中使用 django-image-cropper (Link)。我将它添加到 settings.py 中的 INSTALL_APPS 并成功解决。该应用程序需要一些数据库表才能使用,所以我必须创建它们。由于我一直在使用 South,因此我需要使用 South 创建表,而不是使用 syncdb。我的问题是如何运行 "./manage.py schemamigration" 而cropper 不在我的项目目录中,而是在 python 的 "dist-apps" 目录中。

【问题讨论】:

  • 不久前其他用户提出了类似的问题 (Here)。但还没有得到答复。

标签: django django-south


【解决方案1】:

只要运行:

python manage.py schemamigration django-image-cropper --initial

你走了。

将 django-image-cropper 替换为实际调用的应用程序(在 INSTALLED_APPS 中定义)。

然后您只需使用标准迁移命令将表添加到数据库中。

【讨论】:

  • 谢谢西蒙。正是我需要的。只是一个快速的侧面问题。使用 SOUTH_MIGRATION_MODULES (Link) 是更好的做法吗?我选择使用它,但只是好奇你会怎么想。干杯。
  • @ahmoo 它肯定会为第三方应用程序清理一些东西。对于您自己为自己的 Django 项目编写的应用程序,我倾向于认为它们应该保留在应用程序本身中,以便将来如果您愿意,可以更轻松地将该应用程序与其他项目一起使用,但这归结为个人喜好。
  • 谢谢。我同意你说的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
  • 2012-04-01
  • 2013-10-12
  • 2012-06-16
  • 1970-01-01
  • 2012-07-14
  • 2011-03-11
相关资源
最近更新 更多