Hi,

We are using Django for our ecommerce site. 

I have some confusion on when the code gets executed in Django. I have a 
django form with a choice field in module m1.py:

class SomeForm(forms.Form):
    field = forms.ChoiceField(choices=get_choices())


def get_choices():
    return some choices


In views.py, I have imported SomeForm:

from app.m1 import SomeForm

class SomeFormView(Formview):
    form = SomeForm
    ...rest of the view code


When I run the django project using ./manage.py runserver, I am surprised 
to see that get_choices gets executed. This is undesirable as I can have a 
Django queryset in get_choices and I do not want unnecessary DB access. 

It would be really helpful if someone can shed some light on the above and 
tell me what exactly is happening. How can I avoid get_choices getting 
executed during django start  or running? get_choices should only get 
executed when SomeFormView is accessed.

Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/419b19a4-6ba1-4a27-8c27-f0d65b34a8bb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to