Projet

Général

Profil

Bug #5331

Mis à jour par Mikaël Ates il y a plus de 9 ans

Il s'agit par exemple du modèle ActType. Dès lors qu'il y a une entrée instance d'un Act qui pointe sur un une instance d'un ActType, cette entrée instance ne peut plus être supprimable, il doit être prossible d'utiliser on_delete=models.PROTECT sur supprimée.
Il faut un verrouillage au niveau du modèle pour empêcher
la ForeignKey.
Dans ce cas,
suppression avec script par exemple mais il faut également que cela ressorte au niveau de l'interface dans la gestion des ressources par exemple, soit en supprimant le bouton "supprimer" soit ou en affichant à message d'erreur lors de la tentative de suppression.
Il y a d'autres cas, par exemple pour le SchoolLevel où


A titre d'illustration
on veut autoriser les suppression des entrées de cette table mais pour éviter la suppression en cascade il faut mettre on_delete=models.SET_NULL pourrait trouver sur la ForeginKey level sur le un modèle SocialisationDuration. concerné:

<pre>

def is_used():
'''Return a boolean according if an other instance point at me'''
return self.related_query.all().exists()

def delete():
if self.is_used():
raise ...
# else deletion
super(MyModel, self).delete(*args, **kwargs)

Voir aussi http://stackoverflow.com/questions/4825815/prevent-delete-in-django-model
</pre>

Retour