Opened 3 years ago

Last modified 23 months ago

#18717 assigned Bug

Setting attributes on deferred objects should trigger field's descriptor's __set__()

Reported by: Kronuz Owned by: shaz
Component: Database layer (models, ORM) Version: 1.4
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: yes Patch needs improvement: yes
Easy pickings: no UI/UX: no

Description

Setting attributes on deferred objects (DeferredAttribute) should trigger original field's descriptor's set() (if any).
Currently, specially for custom fields set up as descriptors defining set(), the original field's set is never called when setting object attributes on deferred fields.

Attachments (1)

#18717-deferred_fields_and_descriptors.diff (864 bytes) - added by Kronuz 3 years ago.

Download all attachments as: .zip

Change History (4)

Changed 3 years ago by Kronuz

comment:1 Changed 2 years ago by lrekucki

  • Needs documentation unset
  • Needs tests set
  • Patch needs improvement set
  • Triage Stage changed from Unreviewed to Accepted

The patch failes as DeferredAttribute no longer has model_ref. On a side note, {{{_meta.get_field_by_name}} can be used instead of iterating.

Version 0, edited 2 years ago by lrekucki (next)

comment:2 Changed 2 years ago by aaugustin

  • Component changed from Uncategorized to Database layer (models, ORM)
  • Type changed from Uncategorized to Bug

comment:3 Changed 23 months ago by shaz

  • Owner changed from nobody to shaz
  • Status changed from new to assigned
Note: See TracTickets for help on using tickets.
Back to Top