Ho un problema perché sto cancellando un widget usando some_widget_instance.delete(). Ho anche un modello chiamato WidgetFile con un metodo override delete() in modo che io possa cancellare i file dal mio disco rigido quando un WidgetFile viene cancellato. Il problema che sto avendo è che se eliminare un Widget, e ha WidgetFiles ad essa collegati in questo modo:Come sovrascrivere delete() su un modello e farlo funzionare con le relative eliminazioni
class WidgetFile(models.Model):
widget = models.ForeignKey(Widget)
Beh, quando elimino che Widget, è WidgetFiles vengono eliminati, ma il metodo delete() doesn Si innesca e fa il mio disco extra. Ogni aiuto è molto apprezzato.
Questo problema è sorto perché quando un widget viene eliminato non attiva il metodo delete() su ciascuna delle sue dipendenze (classi che hanno un riferimento a chiave esterna ad esso). Elimina semplicemente gli oggetti correlati dal DB. Questo lo rende più efficiente ma ovviamente porta a problemi come questo. – orokusaki