2011-03-01 1 views

Répondre

15

Ajouter un bouton soumettre au modèle, définissez le nom de « suppression », vérifiez à votre avis si elle a été cliqué:

if request.POST.get('delete'): 
    obj.delete() 
+0

Je m'attendais à une façon de le faire automagically via forms.py Meta: ou similaire? – Ryan

+2

Les formes de Django ne font pas de boutons. C'est à vous de les mettre dans le modèle. Il existe des applications connectables (django-uni-form) qui vous permettront de créer des formulaires avec des boutons dans la définition du formulaire. – zsquare

1

Vous pouvez utiliser une forme générique comme celui-ci

class DeletableModelForm(forms.ModelForm): 
    """ 
    Model form that allows you to delete the object 
    """ 
    delete = forms.BooleanField(
     initial=False, 
     help_text=_('Check this to delete this object') 
    ) 

    def save(self, commit=True): 
     if self.cleaned_data['delete']: 
      return self.instance.delete() 
     return super(DeletableModelForm, self).save() 

Et puis vous pouvez restyle la case à cocher pour ressembler à un bouton. Mais vous êtes probablement mieux avec le bouton normal avec le nom ...

Questions connexes