Ho una semplice ModelForm:Elimina i campi da ModelForm
class MyForm(ModelForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
del self.fields['name']
Come potete vedere, cerco di rimuovere un campo dalla lista dei campi del form (il campo esiste definitivamente nel modello), ma ottengo un eccezione:
TemplateSyntaxError at [..]
Caught an exception while rendering: "Key 'name' not found in Form"
non ho scritto un modulo personalizzato, in modo che il modello in cui si verifica l'errore è:
/templates/admin/includes/fieldset.html, error at line 4
Tutte le idee?
- AGGIORNAMENTO -
Il problema appare solo nel settore amministrativo.
- UPDATE 2 -
Forse una discarica traccia dà più informazioni:
Original Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/django/template/debug.py", line 71, in render_node
result = node.render(context)
File "/Library/Python/2.5/site-packages/django/template/defaulttags.py", line 155, in render
nodelist.append(node.render(context))
File "/Library/Python/2.5/site-packages/django/template/defaulttags.py", line 239, in render
value = bool_expr.resolve(context, True)
File "/Library/Python/2.5/site-packages/django/template/__init__.py", line 546, in resolve
obj = self.var.resolve(context)
File "/Library/Python/2.5/site-packages/django/template/__init__.py", line 687, in resolve
value = self._resolve_lookup(context)
File "/Library/Python/2.5/site-packages/django/template/__init__.py", line 722, in _resolve_lookup
current = current()
File "/Library/Python/2.5/site-packages/django/contrib/admin/helpers.py", line 81, in errors
return mark_safe(u'\n'.join([self.form[f].errors.as_ul() for f in self.fields]).strip('\n'))
File "/Library/Python/2.5/site-packages/django/forms/forms.py", line 105, in __getitem__
raise KeyError('Key %r not found in Form' % name)
KeyError: "Key 'name' not found in Form"
Nel settore amministrativo, io uso il Grapelli-tema. Forse questo ha a che fare con il problema?
Magicamente ™ funziona ora, anche se non so perché. Grazie comunque per il tuo aiuto. – schneck