#27990: QuerySet.count() raises ValueError when QuerySet.union() is used
-------------------------------------+-------------------------------------
               Reporter:  kapil      |          Owner:  nobody
  garg                               |
                   Type:  Bug        |         Status:  new
              Component:  Database   |        Version:  1.10
  layer (models, ORM)                |
               Severity:  Normal     |       Keywords:
           Triage Stage:             |      Has patch:  0
  Unreviewed                         |
    Needs documentation:  0          |    Needs tests:  0
Patch needs improvement:  0          |  Easy pickings:  0
                  UI/UX:  0          |
-------------------------------------+-------------------------------------
 When we get objects from a model and do union then the resulted
 QuerySet.count() raises ValueError due to the presence of Non-Numeric
 first Field.

 Eg.


 {{{
 class SomeModel(models.Model):
     name = models.CharField(max_length=10, default='example')

 >>> from bug.models import SomeModel
 >>> e1 = SomeModel(name='current')
 >>> e1.save()
 >>> e2 = SomeModel()
 >>> e2.save()
 >>> qs1 = SomeModel.objects.filter(name__startswith='ex').only('name')
 >>> qs2 = SomeModel.objects.filter(name__startswith='cu').only('name')
 >>> qs = qs1.union(qs2)
 >>> print(qs.count())
 >>> #raises ValueError : invalid literal for int() with base 10
 }}}

 If the first field contained in queryset is numeric then this error is not
 raised.

 Eg. remove .only() method above on both querysets and then .count() with
 return correct result.

--
Ticket URL: <https://code.djangoproject.com/ticket/27990>
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/056.781a9480117db3160de96b922b5523a6%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to