Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 184407
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T15:17:12+00:00 2026-05-11T15:17:12+00:00

Let’s say I have some contrived models: class Author(Model): name = CharField() class Book(Model):

  • 0

Let’s say I have some contrived models:

class Author(Model):    name = CharField()  class Book(Model):    title = CharField()    author = ForeignKey(Author) 

And let’s say I want to use a ModelForm for Book:

   class BookForm(ModelForm):       class Meta:          model = Book 

Simple so far. But let’s also say that I have a ton of Authors in my database, and I don’t want to have such a long multiple choice field. So, I’d like is to restrict the queryset on the BookForm’s ModelMultipleChoiceField author field. Let’s also say that the queryset I want can’t be chosen until __init__, because it relies on an argument to be passed.

This seems like it might do the trick:

class BookForm(ModelForm):    class Meta:       model = Book     def __init__(self, letter):       # returns the queryset based on the letter       choices = getChoices(letter)       self.author.queryset = choices 

Of course, if that just worked I wouldn’t be here. That gets me an AttributeError. ‘BookForm’ object has no attribute ‘author’. So, I also tried something like this, where I try to override the ModelForm’s default field and then set it later:

class BookForm(ModelForm):    author = ModelMultipleChoiceField(queryset=Author.objects.all())     class Meta:       model = Book     def __init__(self, letter):       choices = getChoices(letter)       self.author.queryset = choices 

Which produces the same result.

Anyone know how this is intended to be done?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T15:17:13+00:00Added an answer on May 11, 2026 at 3:17 pm

    Form objects don’t have their fields as attributes, you need to look in the ‘fields’ attribute, which is a dictionary:

    self.fields['author'].queryset = choices 

    If you want to fully understand what’s going on here, you might be interested in this answer – it’s about Models, but Forms work similarly.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Let's say I have the following models class Photo(models.Model): tags = models.ManyToManyField(Tag) class Tag(models.Model):
Let say I have some code HTML code: <ul> <li> <h1>Title 1</h1> <p>Text 1</p>
Let's say you have a class called Customer, which contains the following fields: UserName
Let's say on a page I have alot of this repeated: <div class=entry> <h4>Magic:</h4>
Let's say I have window.open (without name parameter), scattered in my project and I
Let's say I have one class User, and it has a property of type
Let's say you have a class library project that has any number of supplemental
Let's say I have an abstract parent class called shape, and that there are
Let's say I have the string: hello world; some random text; foo; How could
Let's say i have this block of code, <div id=id1> This is some text

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.