Yes, you understood my problem.  Thanks.  That helped.

I tried both suggestions.  Your second suggestion looked a little
easier.  So, I tried it first.  I couldn't get it to work.  I assume I
wasn't doing something just right.  But, I was able to get your first
solution to work with little fuss.

I will go ahead and read the link you provided.  I've also saw another
recommendation in another post about the a book, "The Definitive Guide
to Django: Web Development Done Right, 2nd Edition" which I have
ordered from nerdbooks.com for $26.00.

Thanks,
Darren

On Mon, Apr 26, 2010 at 7:01 AM, Nuno Maltez <nuno.li...@gmail.com> wrote:
> I'm not sure I understood correctly what you wanted to achieve, but if
> you want to order the
> Persons in the dropdown for the players field by name, you need to
> change the order of the queryset
> associated with that field.
>
> For a ForeignKey field, a ModelForm generates a ModelChoiceField
> http://docs.djangoproject.com/en/dev/ref/forms/fields/#modelchoicefield
> that has a queryset attribute holding the QuerySet used to populate the 
> dropdow.
>
> You can change the order in the __init__ method of your form:
>
> class RotationForm(forms.ModelForm):
>   def __init__(self, *args, **kwargs):
>        super(RotationForm, self).__init__(*args, **kwargs)
>        self.fields["player"].queryset =
> self.fields["player"].queryset.order_by("name")
>
> Or by overriding the field on the form:
>
> class RotationForm(forms.ModelForm):
>     player = 
> forms.ModelChoiceField(queryset=Person.objects.all().order_by("name"))
>
>
> Hope this gives you some pointers in the right direction.
> Nuno
>
> On Tue, Apr 20, 2010 at 3:09 PM, darren <backdoc...@gmail.com> wrote:
>> I am not able to figure out how to order the records that fill the
>> drop down list in a model form.  On line 112 below, I have attempted
>> to order the Rotation model by player.  But, the drop down list that
>> is created for me is not ordered that way.  I also tried relocating
>> line 112 to within the Meta class definition.  But, that didn't work
>> either.  I see field ordering in the docs.  But, I don't see this
>> mentioned.
>>
>> Any suggestions would be more than appreciated.
>>
>> 101 class Rotation(models.Model):
>> 102     player = models.ForeignKey(Person, to_field='f_name',
>> verbose_name='Player', limit_choices_to={'relationship' : 'Player'})
>> 103     date = models.DateField('Date', default=datetime.date.today)
>> 104     game_type = models.CharField("Game Type",
>> choices=(('Scrimmage', 'Scrimmage'), ('Tournament', 'Tournament')),
>> max_length=10)
>> 105     inning_count = models.IntegerField("Innings Out", default=1)
>> 106     def __unicode__(self):
>> 107         return '%s || %s %s || %s || %s' % (self.date,
>> self.player.f_name, self.player.l_name, self.game_type,
>> str(self.inning_count))
>> 108     class Meta:
>> 109         ordering = ['date']
>> 110
>> 111 class RotationForm(forms.ModelForm):
>> 112     Rotation.objects.order_by('player')
>> 113     class Meta:
>> 114         model = Rotation
>> 115         exclude = ['date', 'inning_count']
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "Django users" group.
>> To post to this group, send email to django-us...@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.
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To post to this group, send email to django-us...@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.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@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