我想知道是否有办法在执行 syncdb 时运行自定义方法。我想要完成的是将邮件模板加载到数据库中。由于我在数据库中的多个条目中需要几乎相同的模板,因此我不想将它放在 initial_data 文件中。
我搜索了 django 文档和网络,但找不到任何解决方案。
任何帮助表示赞赏。
我想知道是否有办法在执行 syncdb 时运行自定义方法。我想要完成的是将邮件模板加载到数据库中。由于我在数据库中的多个条目中需要几乎相同的模板,因此我不想将它放在 initial_data 文件中。
我搜索了 django 文档和网络,但找不到任何解决方案。
任何帮助表示赞赏。
信号怎么样post_syncdb
?
http://docs.djangoproject.com/en/dev/ref/signals/#django.db.models.signals.post_syncdb
将处理程序连接到信号并在函数中运行您希望的任何内容。
好吧,它可能适用于你的情况,它可能不会。post_syncdb
在创建表后调用并发送到所有应用程序,因此如果您想要一种处理所有默认数据创建的方法,则必须使用类似以下代码段的方法来检测信号是否用于列表中的最后一个应用程序,以确保你的表存在:P。
http://djangosnippets.org/snippets/1988/
嗯,这是一个想法。享受!