Hi All,

When I looked in the docs for how to fill in the
"choices=" attribute for a ChoiceField in a form,
I could only find static sets of tuples for examples.
I need to use a table from the DB for the tuples.
I thought I could make up the choice list myself
from the table, but I'm getting a Name Error:
name 'scac_choicelist' is not defined at the marked
line in my form:

from django import forms
from django.forms.fields import ChoiceField
from myapp.models import *

BOL_CODE_QUALIFIERS = (
  ('OB', 'Ocean Bill of Lading (OB)'),
  ('BM', 'House Bill of Lading (BM)'),
)

class BolForm(forms.Form):
- scac = forms.ChoiceField(
----- label=u'Ocean Carrier',
----- choices=scac_choicelist()) ######
- bill_of_lading = forms.CharField(
----- label=u'Bill of Lading #', max_length=50)
- bol_type = forms.ChoiceField(
----- label=u'Type of B/L',
----- choices=BOL_CODE_QUALIFIERS)

Here's my model:

from django.db import models

class Scac(models.Model):
- code = models.CharField(max_length=4)
- name = models.CharField(max_length=60)

- def __unicode__(self):
--- return self.code

- def scac_choicelist():
--- q = Scac.objects.all()
--- scaclist = []
--- for x in q:
----- scaclist.append((x.code, x.name))
----- return scaclist

I didn't know where to stick the scac_choicelist()
code, so I put it with the model.

Questions:
1. Is this a reasonable approach?  If not, what?
2. If so, how can I get scaclist into the form?

I hope there is enough info here that my mistake
is obvious to somebody.

Thanks.

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