【问题标题】:How to write fixtures in python language and not serialized for django?如何用 python 语言编写固定装置而不为 django 序列化?
【发布时间】:2011-11-04 10:24:16
【问题描述】:

我有一个 python 文件,它使用 Category.objects.create 方法创建对象。但我不知道如何运行该夹具

【问题讨论】:

    标签: django fixtures


    【解决方案1】:

    夹具是序列化的。填充数据库的 Python 代码不是固定装置。

    如果您想在创建数据库后使用 python 代码填充数据库,我建议您将创建函数附加到post_syncdb 信号。请注意,信号是按应用程序发送的。

    在您的回调函数中,您可以查看created_signals参数,查看创建了哪些模型,并查看是否需要创建对象。

    作为参考,请查看使用 post_syncdb 信号的 contrib 应用程序,例如 django.contrib.sites.manage,它只创建一次默认站点实例。

    【讨论】:

    • 但是post_syncdb不会一遍遍添加?我只需要添加一次...
    • 是的,您需要在回调中添加检查以防止模型被多次创建。我已通过示例链接更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 2015-04-26
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多