Jim Steil ha scritto:
> Hi
>
> I'm having a problem with a SingleSelectField.  It's probably more of a 
> problem with my understanding of when things are loaded, but I was 
> hoping someone could explain this to me a bit.
>
> I have the following form:
> ------------------------------------------------
> class FormFields(WidgetsList):
>     name = TextField(label='Name:', validator=validators.NotEmpty)
>     district = SingleSelectField(label='District:', 
> options=qOptions.getDistrictOptions('None'),
>                                 
>  validator=validators.All(validators.NotEmpty(), validators.Int()))
> testForm = TableForm(fields=FormFields(), submit_text='Save Changes')
> ------------------------------------------------
> And, I have the following method to fill the SingleSelectField in the 
> qOptions module:
> ------------------------------------------------
> def getDistrictOptions(allNone='None'):
>     ds = District.select(orderBy='name')
>     options = [('', '-- %s --' % (allNone))]
>     for d in ds:
>         name = d.name
>         if d.salesman:
>             name = '%s - %s' % (name, d.salesman.display_name)
>         options.append((d.id, '%s' % (name)))
>     return options
> ------------------------------------------------
> This works fine, except if I make a change to the salesman assigned to a 
> district.  If I do, I still get the old salesman name in the dropdown 
> even though it has been changed.  If I restart the server I then get the 
> correct salesman name.  I use this pattern all over in my application, 
> but without the foreign key lookup and getting the name from the related 
> table.  In these SingleSelectFields, changes to the table takes effect 
> immediately and doesn't require a restart. 
>
> Can someone help me understand why this is happening?
>   

Simple Jim...
you pass the result of a callable as options.

options=qOptions.getDistrictOptions('None')


try to pass the callable instead

options=qOptions.getDistrictOptions


this is the correct use for dynamic select list.



Glauco


-- 
+------------------------------------------------------------+
                                  Glauco Uri - Programmatore
                                    glauco(at)allevatori.com 
                               
  Sfera Carta Software(r)      [EMAIL PROTECTED]
  Via Bazzanese,69  Casalecchio di Reno(BO) - Tel. 051591054 
+------------------------------------------------------------+



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to