【问题标题】:How to get './manage.py syncdb' to create additional views or run custom SQL?如何获取 './manage.py syncdb' 以创建其他视图或运行自定义 SQL?
【发布时间】:2009-03-04 16:16:41
【问题描述】:

有没有办法在 syncdb 为模型创建表之后运行一些自定义 SQL 语句?具体来说,我想创建一些数据库视图。

【问题讨论】:

    标签: django django-models django-syncdb


    【解决方案1】:

    是的,您可以在同步数据库之后捕捉到一些信号。

    有关文档,请参阅 management signals

    这就是 contrib.auth 权限表以及 contenttypes 框架表的填充方式。

    【讨论】:

      【解决方案2】:

      注意:如 cmets 中所述,此方法自 Django 1.7 起已弃用。

      或者只是创建一个名为 sql/.sql 的文件: http://docs.djangoproject.com/en/dev/howto/initial-data/#providing-initial-sql-data

      【讨论】:

      • 这很好用,但整个“自定义 SQL”功能已被核心开发人员之一称为“黑客”,并表达了使用 post_syncdb 信号的偏好。暂时找不到链接。无论如何,它保证会一直持续到 2.0,所以不用担心。
      • 这不起作用。运行 manage.py sqlcustom <myapp> 会忽略我所有的 sql/.sql 文件。
      • 嗯。我已经有一段时间没有尝试过了,但是最新的文档仍然表明这应该可以工作。这些文件应该被称为 /sql/.sql
      • 从 Django 1.7 开始正式弃用 docs.djangoproject.com/en/1.7/howto/initial-data/…
      猜你喜欢
      • 1970-01-01
      • 2012-02-27
      • 2010-11-30
      • 2014-06-07
      • 1970-01-01
      • 2016-01-05
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多