Questions tagged [django-annotate]
297 questions
                    
                    188
                    
            votes
                
                4 answers
            
        aggregate() vs annotate() in Django
Django's QuerySet has two methods, annotate and aggregate. The documentation says that:
Unlike aggregate(), annotate() is not a terminal clause. The output of the annotate() clause is a…
         
    
    
        Alexander Artemenko
        
- 21,378
- 8
- 39
- 36
                    59
                    
            votes
                
                7 answers
            
        Django 1.11 Annotating a Subquery Aggregate
This is a bleeding-edge feature that I'm currently skewered upon and quickly bleeding out. I want to annotate a subquery-aggregate onto an existing queryset. Doing this before 1.11 either meant custom SQL or hammering the database. Here's the…
         
    
    
        Oli
        
- 235,628
- 64
- 220
- 299
                    28
                    
            votes
                
                2 answers
            
        How to subtract two annotated columns on Django QuerySets?
I need to be able to sort on the aggregate of two annotated columns
So I'd like to do something like this:
c = c.annotate(metric=Sum('results__metric'))
c = c.annotate(metric_prior=Sum('results__metric_prior'))
c =…
         
    
    
        James R
        
- 4,571
- 3
- 30
- 45
                    21
                    
            votes
                
                2 answers
            
        Django queryset annotate field to be a list/queryset
I'm trying to use django annotation to create queryset field which is a list of values of some related model attribute.
queryset = ...
qs = queryset.annotate(
    list_field=SomeAggregateFunction(
        Case(When(related_model__field="abc"),…
         
    
    
        zyks
        
- 521
- 1
- 4
- 12
                    17
                    
            votes
                
                3 answers
            
        How to concatenate two model fields in a Django QuerySet?
Consider a table called DataTable. It has two fields: A and B.
I want to return all rows from this table, and annotating a field called C which is a concatenation of A and B fields.
Here is what I have tried:
from django.db.models import CharField,…
         
    
    
        yoyoyoyo123
        
- 2,362
- 2
- 22
- 36
                    17
                    
            votes
                
                3 answers
            
        Django custom for complex Func (sql function)
In the process of finding a solution for Django ORM order by exact, I created a custom django Func:
from django.db.models import Func
class Position(Func):
    function = 'POSITION'
    template = "%(function)s(LOWER('%(substring)s') in…
         
    
    
        Brown Bear
        
- 19,655
- 10
- 58
- 76
                    15
                    
            votes
                
                1 answer
            
        Django - 'WhereNode' object has no attribute 'output_field' error
I am trying to query and annotate some data from my models:
class Feed(models.Model):     # Feed of content
    user = models.ForeignKey(User, on_delete=models.CASCADE)
class Piece(models.Model):    # Piece of content (video or playlist)
   …
         
    
    
        Den Kasyanov
        
- 870
- 2
- 11
- 27
                    14
                    
            votes
                
                1 answer
            
        Exclude null values from Django's ArrayAgg
I'm using Django's postgres-specific ArrayAgg aggregator. It works fine but when the list is empty I get [None] instead of []. Is there any way to filter these null values out? I've tried to pass a filter argument to ArrayAgg but it didn't work.…
         
    
    
        Ariel
        
- 3,383
- 4
- 43
- 58
                    12
                    
            votes
                
                3 answers
            
        Django conditional Subquery aggregate
An simplified example of my model structure would be
class Corporation(models.Model):
    ...
class Division(models.Model):
    corporation = models.ForeignKey(Corporation)
class Department(models.Model):
    division =…
         
    
    
        Eldamir
        
- 9,888
- 6
- 52
- 73
                    12
                    
            votes
                
                1 answer
            
        django - annotate() - Sum() of a column with filter on another column
I have the following two models.
class Product(models.Model):
    product_group=models.ForeignKey('productgroup.ProductGroup', null=False,blank=False)
    manufacturer=models.ForeignKey(Manufacturer, null=False,blank=False)
   …
         
    
    
        art
        
- 1,358
- 1
- 10
- 24
                    12
                    
            votes
                
                1 answer
            
        Django's annotate Count with division returns integer instead of float
I have many objects and 3 of them have name='AAA'
I group them by 'name' and annotate num in group:
my_models = MyModel.objects.order_by('name').values('name').annotate(count=Count('name'))
for i in my_models:
    print(i.count, i.name)
I get:
3,…
         
    
    
        MaxCore
        
- 2,438
- 4
- 25
- 43
                    9
                    
            votes
                
                2 answers
            
        Using Subquery to annotate a Count
Please help me I've been stuck on this for way too long :( 
What I want to do:
I have these two models:
class Specialization(models.Model):
    name = models.CharField("name", max_length=64)
class Doctor(models.Model):
    name =…
         
    
    
        Ysrninja
        
- 129
- 1
- 2
- 9
                    9
                    
            votes
                
                1 answer
            
        Django annotate data by date for empty result
Suppose I have a object model A, and it has a field called created, which is a datetime type field. 
If I use annotate to count how many A are created each day, I can use
A.objects.annotate(date=Trunc('created', 'day', output_field=DateField())…
         
    
    
        Tiancheng Liu
        
- 782
- 2
- 9
- 22
                    8
                    
            votes
                
                1 answer
            
        Django annotate count in JSONField with Postgres
Using Django I have a field which is of type JSONField. I am wanting to get a distinct count on a nested key/value in the json. With a normal field you can just do soemthing like the following …
         
    
    
        ms18
        
- 335
- 1
- 3
- 11
                    8
                    
            votes
                
                1 answer
            
        How to annotate the result of a model method to a django queryset
From the django docs on annotate():
Annotates each object in the QuerySet with the provided list of query
  expressions. An expression may be a simple value, a reference to a
  field on the model (or any related models), or...
Is it possible to…
         
    
    
        43Tesseracts
        
- 4,617
- 8
- 48
- 94