On 7/6/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>  EventFormClass.base_fields['club'].widget =
> widgets.Select(choices=Club.objects.filter(approved=True))
>
> But that throws
> TypeError at /clubs/events/
> unpack non-sequence

The 'choices' argument should look like this:

((1, 'Foo'),
(2, 'Bar'),
(3, 'Baz'),
(4, 'Quux'))

Instead, it's going to look like this:

[<Club object>,
 <Club object>,
 <Club object>,
 <Club object>]

So when the form goes to look "inside" each item to pull out the id
and string value of the choice, it finds that it can't -- it was
expecting a tuple or a list, and got a model instance instead.

What you want is something like

EventFormClass.base_fields['club'].widget =
widgets.Select(choices=[(club.id, str(club)) for club in
Club.objects.filter(approved=True)]

Also, it's often a good idea to *not* try to shoehorn things into
form_form_model... usually it's quicker to write a custom form which
does what you want than to add/remove things from form_for_model.

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

Reply via email to