2017-07-26 4 views
0

Beispiel ModelleDjango Gruppe von Datum und zählen pro Kategorie

class Category(models.Model) 
    name = models.CharField() 

class CategoryItem(models.Model): 
    category = models.ForeignKey(Category) 
    name = models.CharField() 
    quantity = models.IntField() 
    at = models.DateTimeField() 


Categories: 
    1, Category #1 
    2, Category #2 
    3, Category #3 

Items: 
    ID,NAME,CATEGORY_ID,QUANTITY,AT 
    1,Item #1,1,100,2017.1.1 
    2,Item #2,1,200,2017.1.3 
    3,Item #3,1,300,2017.1.3 
    4,Item #4,2,400,2017.1.10 
    5,Item #5,3,500,2017.1.10 

, wie ich dies für Tag mit Anmerkungen versehen können und zählen „Quantität“ pro Kategorie

Gefällt Ihnen dieses

2017.1.1 
    - Category #1 
     - Quantity: 100 

2017.1.3 
    - Category #1 
     - Quantity: 500 

2017.1.10 
    - Category #2 
     - Quantity: 400 
    - Category #3 
     - Quantity: 500 
+1

Willkommen bei Stack-Überlauf! Bitte nimm die [Tour] (http://stackoverflow.com/tour), schau dich um und lies die [Hilfe] (http://stackoverflow.com/help) durch, insbesondere _ [Wie mache ich Stellen Sie eine gute Frage?] (http://stackoverflow.com/help/how-to-ask) _. Es ist überhaupt nicht klar, was Sie oben fragen, können Sie Ihre Frage zu klären? Vielleicht haben Sie hier einen kostenlosen Code-Schreibdienst erwartet? – Cagy79

Antwort

0

Wenn ich verstehe, Ihre Frage, Sie wollen eine Django-Abfrage mit der Gruppe nach und zählen (und inneren Join).

Probieren Sie etwas wie folgt aus:

CategoryItem.objects.filter(CategoryItem__Category__isnull=False).values('at,name').annotate(total=Count('quantity')).order_by('at')