2013-02-19 65 views
0

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

+0

源表是否位于同一数据库中? – Cole 2013-02-20 17:02:27

回答

0

我使用south来管理我的模型及其各自的数据表。我认为这将是我的方法,假设表都在同一个数据库上。 (如果他们都没有,也没有真正的解决方案,它可能不值得期待找到解决此限制Django的一些黑客攻击式的方式。)

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

这两个步骤创建一个文件,模型代表数据库中的每个表。将要使用的数据表的模型从inspectdb.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 
相关问题