class ItemForm(ModelForm):
item = forms.CharField(label='Item')
class Meta:
model=Item
def __init__(self, *args, **kwargs):
super(ItemForm, self).__init__(*args, **kwargs)
if kwargs.has_key('instance'):
del self.fields['item']
del self.base_fields['item']
else:
self.fields['item'] = forms.CharField(label='Item')
self.base_fields['item'] = forms.CharField(label='Item')
On 1 fev, 19:13, andmart <andm...@gmail.com> wrote:
> There is an error in code above.
>
> I forgot to write to message the call to super.
>
> Here is the code I'm trying to work
>
> http://dpaste.com/375663/
>
> Thanks in advance for any help
>
> On 1 fev, 17:48, andmart <andm...@gmail.com> wrote:
>
> > Hi all,
>
> > I'm trying to remove or add fields based in presence of 'instance'
> > parameter in ModelForm __init__ like this:
>
> > class ItemForm(ModelForm):
> > class Meta:
> > model = Item
>
> > def __init__(self, *args, **kwargs):
> > if not kwargs.has_key('instance'):
> > self.fields['extra_field'] =
> > forms.CharField(label='Extra Field')
>
> > But debugging, in django/contrib/admin/options.py, in add_view method,
> > django instantiates my modelform and after that forget it.
>
> > I saw many posts googling with solution above - adding fields in
> > self.fields. Am I doing something wrong or is it not possible in
> > django 1.2.3 version?
>
> > Thanks in advance.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
No comments:
Post a Comment