Opened 3 years ago

Last modified 3 years ago

#33680 closed Bug

Documentation example of customising model instance loading has a bug — at Version 1

Reported by: Ali Toosi Owned by: nobody
Component: Documentation Version: 4.0
Severity: Normal Keywords: documentation, from_db, model instance loading
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description (last modified by Ali Toosi)

The docs provide an example of how the model instance loading can be changed and how _loaded_values can be saved for future comparison here: https://docs.djangoproject.com/en/4.0/ref/models/instances/

In this example, it checks if there are any values not loaded from db then add them as DEFERRED values so class instantiation would work (cls(*values)). However, this would mean values list has items now that do not map to any field_names so when at the end of the function, we zip them together and store in _loaded_values, the code will fail.

The easiest fix for this is to update the field_names too so they would 1. work and 2. show which fields were not loaded from the db at the time.

I've opened a PR for this here: https://github.com/django/django/pull/15664

Change History (1)

comment:1 by Ali Toosi, 3 years ago

Description: modified (diff)
Has patch: set
Last edited 3 years ago by Mariusz Felisiak (previous) (diff)
Note: See TracTickets for help on using tickets.
Back to Top