Estoy tratando de realizar una validación de modo que no pueda eliminar a un usuario si es un administrador. Por lo tanto, me gustaría verificar y generar un error si hay un usuario que es administrador y se ha marcado para eliminarlo.Validar eliminación en formularios en línea de django-admin
Esta es mi línea ModelForm
class UserGroupsForm(forms.ModelForm):
class Meta:
model = UserGroups
def clean(self):
delete_checked = self.fields['DELETE'].widget.value_from_datadict(
self.data, self.files, self.add_prefix('DELETE'))
if bool(delete_checked):
#if user is admin of group x
raise forms.ValidationError('You cannot delete a user that is the group administrator')
return self.cleaned_data
La condición if bool(delete_checked):
devuelve verdadero y cosas por el interior del bloque es ejecutado if
pero por alguna razón este error de validación no se eleva. ¿Podría alguien explicarme por qué?
Mejor aún si hay otra forma mejor de hacer esto, por favor hágamelo saber