#29893: Unexpected behavior of DetailView on a model defining __len__() 
returning
False
-------------------------------+--------------------------------------
     Reporter:  Max            |                    Owner:  Max
         Type:  Bug            |                   Status:  assigned
    Component:  Generic views  |                  Version:  2.1
     Severity:  Normal         |               Resolution:
     Keywords:                 |             Triage Stage:  Unreviewed
    Has patch:  1              |      Needs documentation:  0
  Needs tests:  0              |  Patch needs improvement:  0
Easy pickings:  0              |                    UI/UX:  0
-------------------------------+--------------------------------------

Comment (by Simon Charette):

 I guess adding an `is None` would do for this case but I wouldn't be
 surprised if a lot of other cases still break. For example, there's
 probably a few model forms or admin APIs that do something along `if
 self.instance` and would need to be adjusted as well.

 Given defining `__len__()` on a model instance is an edge case and your
 issue can be worked around by defining a `def __bool__(self): return True`
 I'm tempted to close this issue as _wont fix_ but I'll let other
 contributors chime in. I feel like the burden of making sure all APIs
 dealing with optional model instances truthiness appropriately is not
 worth the small benefit here.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/29893#comment:2>
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 [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.f852c143abf9a58092095bc7cb3422c2%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to