Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

What are the two methods of modifying the filter query set queryset in Django ModelChoiceField

Shulou Source: shulou.com Published: 2022-06-01 16:14:32 09月12日 Update

This article shows you what are the two ways to modify the filtered query set queryset in Django ModelChoiceField. The content is concise and easy to understand, which will definitely brighten your eyes. I hope you can get something through the detailed introduction of this article.

In the Django Form class definition, there is a ModelChoiceField corresponding to the foreign key of Model, and queryset returns a query set object

For example, I have a Form

Class BookForm (forms.Form):

Books = forms.ModelChoiceField (queryset=Books.objects.all ())

There seems to be nothing wrong with this.

But there was a problem when I tried to pass the id of books. We can solve the problem as follows.

1. Override the init method and accept the new keywords

Def _ init__ (self,*args,**kwargs):

Id = kwargs.pop ('id',None)

Super (BookForm,self) .init (* args,**kwargs)

Form = BookForm ({'id':1})

two。 Modify the queryset object in the view

Form = BookForm ()

Form.fields ['books'] .queryset = Books.objects.filter (id=1) .all ()

If you want to set the default value, you can use the method of {initial= {'id':1}.

What are the two ways to modify the filter query set queryset in Django ModelChoiceField? have you learned any knowledge or skills? If you want to learn more skills or enrich your knowledge reserve, you are welcome to follow the industry information channel.

Tags: Methods queries content objects skills knowledge questions concise concise keys keywords can be passed that is articles more articles industry views information information channels Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno NVidia Linux vpn Docker Huawei