I have form:
class AdmItemForm(forms.ModelForm):
id = forms.ModelChoiceField(queryset=Article.objects.all(), widget=forms.HiddenInput())
mainimage = forms.ImageField(widget=AdmImageWidget(), required=False)
tags = TagField(required=False)
.....
class Meta:
model = Article
fields = ('id', 'category', 'date', ....)
but… In the articles table is 10 000 records… Form isn’t opened, browser loads data forever.
What happens? Is the ModelChoiceField retrieves all data from a table?
How to fix it?
If you’ve got 10,000 records belonging to your
Articlemodel, then the queryset you’re passing toModelChoiceFieldwill mean that it contains 10,000 items.The simple solution is to restrict that queryset to contain only what you actually need: does the form need to contain every single article?
Long story short, see if you can restrict the query in any way, i.e.: