#30118: Add support for filter arguments in queryset.exists() and 
queryset.count()
-------------------------------------+-------------------------------------
               Reporter:  Sjoerd     |          Owner:  nobody
  Job Postmus                        |
                   Type:  New        |         Status:  new
  feature                            |
              Component:  Database   |        Version:  master
  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          |
-------------------------------------+-------------------------------------
 Currently, both .exists() and .count() do not support any arguments.

 I would very much enjoy being able to write

 {{{
 if SomeModel.objects.exists(field=value):
 }}}

 instead of

 {{{
 if SomeModel.objects.filter(field=value).exists():
 }}}

 and similarly for count.

 Especially when the "search" part of the query is more complex, it would
 allow one to write

 {{{
 number_of_superusers_in_group = User.objects.count(
     is_superuser=True,
     group=group,
 )
 }}}

 which I find visually more appealing over

 {{{
 number_of_superusers_in_group = User.objects.filter(
     is_superuser=True,
     group=group,
 ).count()
 }}}

 because of the strange "method-call" on the last line.

 As it seems fairly obvious to me, and also fairly simple to implement, I
 suspect there might be something I'm missing as to why it's not a good
 idea, and it might already have been documented, but I can not find it.

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

Reply via email to