对于覆盖保存方法所需的所有Django需求,我一直在我的模型中使用save()。突然间,当我查找一些需要额外扩展的东西时,有人建议在我的管理类中重写save_model()。
我在这两个地方都找到了文档,并且我立刻注意到它们的论点是不同的。是否仅当从管理员保存模型时才调用save_model()?保存模型时会调用save()方法吗?
更新
所以当我从管理员那里保存的时候,我已经知道了。'save‘和'save_model()’都会被调用。似乎'save_model()‘首先被调用。在我的特定应用程序中,我使用了pre_save信号和'save()‘重写。现在我想添加‘save_model()’重写,所有这些save重写和信号的交互和顺序让我感到困惑。
发布于 2012-12-20 23:35:07
因为save()是Model的一种方法,而save_model()是ModelAdmin的一种方法。是。
https://stackoverflow.com/questions/13975392
复制相似问题