sql >> Databáze >  >> RDS >> PostgreSQL

order_by on Many-to-Many pole má za následek duplicitní položky v sadě dotazů

Vzal jsem návrhy poskytnuté sfletche ohledně používání anotací a probral jsem problém na freenode.net irc kanálu #django.

Uživatelé FunkyBob a jtiai mi pomohli, aby to fungovalo.

Vzhledem k tomu, že pro každý pracovní příkaz může být mnoho schůzek, když jej požádáme o objednání podle schůzek, vrátí řádek pro každou instanci schůzky, protože neví, na kterou schůzku jsem měl v úmyslu objednat.

from django.db.models import Max

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

Takže jsme byli na správné cestě, bylo to jen o správné syntaxi.

Děkujeme za pomoc sfletche, FunkyBob a jtiai.



  1. Laravel vztahy na stole se dvěma typy příznaků

  2. Aktualizace PHP MySQL byla úspěšná, ale databáze nebyla aktualizována

  3. Nechejte (znovu) automatické zvyšování ID MySQL od 1

  4. Dotaz MYSQL mezi dvěma časovými razítky