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 )
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
PR