Voici mes modèles:django repos framwork - Supprimer l'objet, ses champs de ManyToMany et des objets avec des clés étrangères à ce
class Ride(models.Model):
driver = models.ForeignKey('auth.User', related_name='rides_as_driver')
destination = models.CharField(max_length=100, default='')
leaving_time=models.TimeField()
leaving_date=models.DateField(default=datetime.date.today)
num_of_spots=models.IntegerField()
passengers=models.ManyToManyField('auth.User', related_name="rides_as_passenger")
mid_destinations = models.CharField(max_length=100, default='')
class PendingRequest(models.Model):
driver = models.ForeignKey('auth.User', related_name='driver_pending_requests')
passenger = models.ForeignKey('auth.User', related_name='passenger_pending_requests')
ride = models.ForeignKey(Ride)
Comme vous pouvez le voir - j'ai un tour modèle avec ManyToMany
champ auth.user
(passagers), ForeginKey
à auth.user
(pilote), et également un modèle PendingRequest qui a un champ de ForeginKey
Rail .
Maintenant, je veux pouvoir supprimer un objet Ride, avoir un code personnalisé après la suppression, et m'assurer que les autres modèles se mettent à jour en conséquence.
Par exemple, si je supprime un tour -> Je veux avoir un code personnalisé (envoyer une notification aux passagers) -> et puis supprimez les entrées de la table des passagers qui ont id tour supprimé dans leur ride
champ, et également les PendingRequest entrées qui ont le supprimé ride id.
Comment dois-je procéder?
merci. le nom de la méthode de suppression à remplacer est juste 'def delete'? –
Mon mal, c'est détruire. Modification de la réponse – Linovia
merci. une chose bizarre qui se passe est, sans le dépassement - quand je fais EFFACER manèges/139/je reçois une réponse non trouvée 404. Je vérifie dans la base de données et il y a un tour avec l'ID de 139. pourquoi est-ce? –