filtered ModelChoiceField queries

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
class MyModelForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(MyModelForm, self).__init__(*args, **kwargs)
        if self.instance:
            self.fields['myfield'].queryset = \
                MyOtherModel.objects.filter(
                    Q(active=True)|Q(pk=self.instance.myfield_id))

    class Meta:
        model = MyModel

Comments

aaronfay (on March 4, 2008):

Thanks for this Rob, I was just trying to figure this out today...

#

(Forgotten your password?)

You may use Markdown syntax here, but raw HTML will be removed.