Re: Add/Remove fields in ModelForm in Admin site

2011-02-01 Thread andmart
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  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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.



Re: Add/Remove fields in ModelForm in Admin site

2011-02-02 Thread andmart
Finally , I got it.

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  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  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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.