1

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?

1 Answer 1

2

If you've got 10,000 records belonging to your Article model, then the queryset you're passing to ModelChoiceField will 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.:

id = forms.ModelChoiceField(queryset=Article.objects.\
    filter(published=True))
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.