On Sun, Jun 15, 2008 at 7:58 AM, ./ed <[EMAIL PROTECTED]> wrote: > the problem is that when i add an entry to the aModel table it does > not update in the form (even with various reload scheme) > it does update when I 'touch' the python file. So my guess is the > problem lies in the 'compilation' chain or something like that.
Consider the following normal Python class: import datetime class BeforeAfterNoon(object): time = datetime.datetime.now() @classmethod def before_noon(cls): return cls.time.hour < 12 Now, suppose you import this class at 11:59, and call the 'before_noon()' method. It will return True. Suppose you leave the Python interpreter running and don't reload anything; at 12:01, 'before_noon()' will still return True. This is because -- when Python parsed the class definition -- the current date and time were assigned to the attribute 'time' in the class, the same as if a constant value had been assigned, and it won't change until something forces the class definition to be completely reloaded, at which point it will update to a new value and stick *there* instead. Assigning choices to a field in a form works the same way; even if the choices come from calling a function, it still happens only once -- when the class is first loaded. This deals with the general case of what you're seeing. For the specific case of dynamically pulling choices for a form field from a QuerySet, you want to take a look at the documentation: http://www.djangoproject.com/documentation/newforms/#fields-which-handle-relationships -- "Bureaucrat Conrad, you are technically correct -- the best kind of correct." --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---