sql >> Database >  >> RDS >> PostgreSQL

order_by op Many-to-Many-veld resulteert in dubbele vermeldingen in queryset

Ik nam suggesties van sfletche over het gebruik van annotatie aan en besprak het probleem in freenode.net irc-kanaal #django.

Gebruikers FunkyBob en jtiai konden me helpen om het werkend te krijgen.

Aangezien er voor elke werkorder veel afspraken kunnen zijn, zal het, wanneer we het vragen om op afspraak te bestellen, een rij retourneren voor elk exemplaar van de afspraak, omdat het niet weet op welke afspraak ik van plan was om het te bestellen.

from django.db.models import Max

WorkOrder.objects.annotate(max_date=Max('appointment__start')).filter(work_order_status="complete").order_by('max_date')

Dus we waren op de goede weg, het ging er alleen om de syntaxis correct te krijgen.

Bedankt voor de hulp sfletche, FunkyBob en jtiai.



  1. Klopt mijn begrip van de grootte van Unicorn, Sidekiq en DB Pool?

  2. Hoe een regex-patroon in MySQL te vervangen

  3. SQL Hoe de SUM van kolom over groep in dezelfde tabel te updaten

  4. SQLite IN