Hi,

I built a widget class that inherits form MultiWidget and it looks like
this :

class GridWidget(forms.MultiWidget):

    def __init__(self, attrs=None, queryset=None):
        self.queryset = queryset
        _widgets = []
        for record in self.queryset:
            .
            do stuff
            .
        super(GridWidget, self).__init__(_widgets, attrs)

This basically adds widgets to the _widgets var based on the queryset.

Then I have some form that has a field like :

class PersonAdminForm(forms.ModelForm):

          attrs = MultiTypeField( \
                    label='Attributes',
                    queryset=Attribute.objects.all()
                    widget=GridWidget(queryset=Attribute.objects.all()),
                    )

The thing is that the GridWidget.__init__ method does not get executed
each time I access the form that contains it, so if the queryset changes the
widget gets 'obsolete'.

Is this some cache issue ? is there any way to force the widget
construction each time i
access the form containing it ?

-- 
Nicolas Emiliani

Lo unico instantaneo en la vida es el cafe, y es bien feo.

-- 
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.

Reply via email to