There is this line in the Django tutorial, Writing your first Django app, part 1:
p.choice_set.create(choice='Not much', votes=0)
choice_set called into existence and what is it?
I suppose the
choice part is the lowercase version of the model
Choice used in the tutorial, but what is
choice_set? Can you elaborate?
You created a foreign key on
Choice which relates each one to a
Choice explicitly has a
question field, which you declared in the model.
Django's ORM follows the relationship backwards from
Question too, automatically generating a field on each instance called
Foo is the model with a
ForeignKey field to that model.
choice_set is a
RelatedManager which can create querysets of
Choice objects which relate to the
Question instance, e.g.
If you don't like the
foo_set naming which Django chooses automatically, or if you have more than one foreign key to the same model and need to distinguish them, you can choose your own overriding name using the
related_name argument to