Django und bedingte Aggregate

Ich habe zwei Modelle, Autoren und Artikel:

class Author(models.Model):
    name = models.CharField('name', max_length=100)

class Article(models.Model)
    title = models.CharField('title', max_length=100)
    pubdate = models.DateTimeField('publication date')
    authors = models.ManyToManyField(Author)

Jetzt möchte ich alle Autoren auswählen und mit ihrer jeweiligen Artikelanzahl versehen. Das ist ein Kinderspiel mit Django's aggregates. Problem ist, es sollten nur die Artikel gezählt werden, die bereits veröffentlicht sind. Gemäßticket 11305 im Django Ticket Tracker ist dies noch nicht möglich. Ich habe versucht, das @ zu verwendCountIf Anmerkung, die in diesem Ticket erwähnt wird, aber die Datums- / Uhrzeitzeichenfolge wird nicht zitiert und es werden nicht alle erforderlichen Verknüpfungen erstellt.

Also, was ist die beste Lösung, außer das Schreiben von benutzerdefiniertem SQL?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage