#28381: New _or_create() field validation prevents certain kinds of descriptor 
use
-------------------------------------+-------------------------------------
     Reporter:  Kevin Christopher    |                    Owner:  nobody
  Henry                              |
         Type:  Bug                  |                   Status:  new
    Component:  Database layer       |                  Version:  1.11
  (models, ORM)                      |
     Severity:  Normal               |               Resolution:
     Keywords:                       |             Triage Stage:
                                     |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------

Comment (by Kevin Christopher Henry):

 I did it that way simply because it makes for a nicer API for users of the
 class (a typical descriptor use case), hiding implementation details (like
 how Django is initialized) and presenting a simple interface for accessing
 these constant instances.

 Certainly it's not essential, and there are other ways of doing the same
 sort of thing. I think it would be reasonable policy to say that Django's
 introspection requirements are such that you should expect that your model
 attributes can be accessed at any time. That would preclude many
 interesting uses of descriptors accessed on the model class, but if
 documented would avoid the kind of surprise I received.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/28381#comment:4>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/065.e7a3e90af60054e6641dc7085831d630%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to