2016-06-08 3 views
-1

Dans un projet, je travaille, j'ai:Comment puis-je empêcher l'affichage d'un champ sur un ModelForm?

class Foo(models.Model): 
    bar = models.BazField() 

class FooForm(forms.ModelForm): 
    class Meta: 
     exclude = ('bar') 

La page affichant le ModelForm affiche la barre sur le terrain même si je ne veux pas que ça.

Qu'est-ce, en plus de placer le nom du champ Foo au début de la liste exclude de FooForm, puis-je faire pour que la page à base ModelForm ne présente pas l'étiquette et sur le terrain pour bar?

Merci,

+0

Faites un tuple 'exclure = ('bar',)' (raté la fuite ',') – C14L

+0

Ce fut une erreur de copiste sur mon partie. – JonathanHayward

Répondre

2

un tuple excluent ou attend la liste (un élément entre parenthèses sans une virgule, comme vous avez actuellement, est pas considéré comme un tuple).

Essayez soit

exclude = ('bar',) # with the comma so its treated as a tuple 

ou

exclude = ['bar'] # less ambiguous