对于在ModelAdmin中使用保存/删除与在ModelAdmin中使用delete_model / save_model的最佳做法感到很好奇。是一个比另一个更好的选择吗?
在我的特殊情况下,我有一个带有JSON字段的Document模型,其中包含一堆用于文档(照片,pdf等)的元数据(名称:值对)。元数据在其他模型中定义(名称数据为MetaData,值的数据为MetaDataValue),因此我可以在运行时更改元数据名称和值。
当现有的MetaData名称或值更改或删除时,我需要“清理”文档模型中存储的元数据以更改/删除元数据名称/值,以使其与MetaData中定义的内容保持同步。 MetaDataValue模型。所有这些更改都是通过“管理”屏幕完成的。
在Admin中使用model_save和model_delete或在各个模型中保存和删除是否更合适?在功能上,就我所见,这并不重要。我只是想知道是否有一种首选的方法,或者是一种更“ django惯用的”方法来做到这一点。
谢谢! 标记
答案 0 :(得分:1)
仅当您要处理仅在管理站点流程中保存的内容时,才应使用管理功能。覆盖save
和delete
适用于您希望对任何保存或删除执行操作的情况。
但是,我实际上建议您看看pre_save, post_save, pre_delete and post_delete signals。它们是您以更可扩展的方式管理数据的钩子。