J'ai un problème parce que je supprime un widget en utilisant some_widget_instance.delete(). J'ai aussi un modèle appelé WidgetFile avec une méthode redéfinir delete() afin que je puisse supprimer des fichiers de mon disque dur quand un WidgetFile est supprimé. Le problème que je vais avoir est que si je supprimer un Widget, et il a WidgetFiles qui s'y rattachent comme ceci:Comment redéfinir delete() sur un modèle et le faire fonctionner avec des suppressions associées
class WidgetFile(models.Model):
widget = models.ForeignKey(Widget)
Eh bien, quand je supprime ce widget, il est WidgetFiles sont supprimés, mais la méthode de suppression() doesn Ne pas déclencher et faire mes trucs de disque dur supplémentaire. Toute aide est très appréciée.
Ce problème est dû au fait que lorsqu'un widget est supprimé, il ne déclenche pas la méthode delete() sur chacune de ses dépendances (les classes qui ont une référence de clé étrangère). Il supprime simplement les objets associés de la base de données. Cela le rend plus efficace mais conduit évidemment à des problèmes comme celui-ci. – orokusaki