Opened 5 years ago

Closed 5 years ago

#21246 closed Cleanup/optimization (invalid)

Issues with "Models"-Documentation

Reported by: david-schultz@… Owned by: nobody
Component: Documentation Version: 1.5
Severity: Normal Keywords: Documentation Models Minor
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no


Hello guys,
reading that file ( , I found two things that probably should be replaced:


Section "Many-to-one relationships" has a paragraph:
"You can also create recursive relationships (an object with a many-to-one relationship to itself) and relationships to models not yet defined; see the model field reference for details." (Bold by me.)

To me, the term "object" is confusing at this point, as I understand it as being an instance of the class, whereas you are clearly talking about a relationship between different instances of the same class. However, you use this terminology at other places as well, so I am not quite sure about this, since I also am rather new to Python and especially Django.


Second Code example of section "Extra fields on many-to-many relationships" ends with:

>>> m2 = Membership.objects.create(person=paul, group=beatles,
...     date_joined=date(1960, 8, 1),
...     invite_reason= "Wanted to form a band.")
>>> beatles.members.all()
[<Person: Ringo Starr>, <Person: Paul McCartney>]

I'm sure you forgot a before calling beatles.members.all().

Best regards

Change History (1)

comment:1 Changed 5 years ago by Tim Graham

Resolution: invalid
Status: newclosed

Thanks for your feedback, but I think both of these points are ok as-is.

  1. I think the usage of this terminology is ok. As you've noted it's used elsewhere in the doc.
  1. The code is correct as-is. When you use create(), the relationship is immediately created in the database -- no need to cause save().

If you find any other issues, please don't hesitate to let us know.

Note: See TracTickets for help on using tickets.
Back to Top