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 instance d'un Act acte qui pointe sur une instance d'un ActType, cette instance ne peut plus être supprimée. supprimé.
Il y faut un verrouillage au niveau du modèle pour empêcher la suppression avec script par exemple mais il faut également que cela ressorte au niveau de l'interface dans la gestion des ressources par exemple, en supprimant le bouton "supprimer" ou en affichant à message d'erreur lors de la tentative de suppression.
A titre d'illustration on pourrait trouver sur un modèle concerné:
<pre>
def is_used():
'''Return a boolean according if an other instance point at me'''
return self.related_query.all().exists() pass
def delete():
if self.is_used():
raise ...
# else deletion
super(MyModel, self).delete(*args, **kwargs) pass
Voir aussi http://stackoverflow.com/questions/4825815/prevent-delete-in-django-model
</pre>
Il y faut un verrouillage au niveau du modèle pour empêcher la suppression avec script par exemple mais il faut également que cela ressorte au niveau de l'interface dans la gestion des ressources par exemple, en supprimant le bouton "supprimer" ou en affichant à message d'erreur lors de la tentative de suppression.
A titre d'illustration on pourrait trouver sur un modèle concerné:
<pre>
def is_used():
'''Return a boolean according if an other instance point at me'''
return self.related_query.all().exists() pass
def delete():
if self.is_used():
raise ...
# else deletion
super(MyModel, self).delete(*args, **kwargs) pass
Voir aussi http://stackoverflow.com/questions/4825815/prevent-delete-in-django-model
</pre>