django syncdb脚本 - 文件系统位置+改变脚本?

时间:2013-06-18 11:40:34

标签: django django-models

我已经在几个项目中使用django,现在我遇到了syncdb命令的问题。 我需要改变该命令的功能,你有经验吗?

python manage.py看起来像这样:

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")

    from django.core.management import execute_from_command_line
    execute_from_command_line(sys.argv)

我在文件系统上找不到任何execute_from_command_line(更确切地说,在/usr/lib/python2.7/site-packages/django/core/management位置)。

任何想法,脚本位于何处?

2)问题:

在运行syncdb并且没有再次运行syncdb以保持更改后,您是否有过使用django数据库(PostgreSQL)手动更改的经验?

我需要更改django约束

ON UPDATE NO ACTION ON DELETE NO ACTION DEFERRABLE INITIALLY DEFERRED

ON UPDATE CASCADE ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED

但如果我手动执行,则会在再次调用syncdb后覆盖它。

1 个答案:

答案 0 :(得分:0)

感谢gertvdijk为正确的方向。 解决方案是使用自定义SQL查询,这些查询在创建表后立即运行。

Django文档可以在这里找到: https://docs.djangoproject.com/en/dev/howto/initial-data/#initial-sql