0

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

4

1 回答 1

0

我使用 south 来管理我的模型及其各自的数据表。我认为这将是我的方法,假设表都在同一个数据库上。(如果不是,则没有真正的解决方案,甚至可能不值得寻找一些破解方法来解决对 Django 的限制。)

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

这两个步骤创建了一个包含模型的文件来表示数据库中的每个表。将要使用的数据表的模型从文件复制inspectdb.pydata_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
于 2013-02-20T18:14:41.157 回答