我可以从另一个源文件索引模型字段吗?

时间:2013-02-19 22:34:45

标签: django

我有一些表作为外部库的一部分安装,这些表包含需要为速度目的而编制索引的字段。我可以通过数据库命令行索引它们,但我更愿意告诉django自己做索引,但我不想修补和维护库。有没有一种简单的方法可以告诉Django在这些模型之外的源文件中索引该字段?

1 个答案:

答案 0 :(得分:0)

我使用south来管理我的模型及其各自的数据表。我认为这将是我的方法,假设表都在同一个数据库中。 (如果不是,那么就没有真正的解决方案,而且可能甚至不值得寻找一些关于Django限制的黑客攻击方式。)

$ python manage.py startapp data_models
$ python manage.py inspectdb > inspectdb.py

这两步创建一个文件,其中包含表示数据库中每个表的模型。将要使用的数据表的模型从inspectdb.py复制到data_models\models.py文件中。根据需要调整复制的模型。假设你有南方:

$ python manage.py convert_to_south data_models
$ python manage.py migrate data_models

现在,您的django项目中有一个用于这些数据表的活动模型。最后,如果尚未设置,则设置您想要的ForeignKey关系。如果您更换了任何模型,请进行常规的南方更新舞蹈:

$ python manage.py schemamigration [app-with-changed-models] --auto
$ [repeat above as necessary]
$ python manage.py migrate