私は現在Django QuerySetを使って設計することができない単純なタスクを持っています。以下のモデルが使用されます。DjangoがPKを追加するステートメントによってグループを破壊する
class Accountdata(models.Model):
amount = models.DecimalField(max_digits=9, decimal_places=2)
bookingdate = models.DateField()
renter = models.ForeignKey(Renter, null=True, blank=True)
私がやりたいことのすべては、月額賃借人で払っすべての金額を合計したことにより、グループを作成している私が使用
(賃借人が複数回に月を支払うことができます)以下のクエリセット(1人の特定の賃借人用):
Accountdata.objects.filter(renter_id=16).annotate(month=TruncMonth('bookingdate'), amountSum=Sum('amount')).values('month', 'amountSum').order_by()
残念ながら結果は間違っています。 私はDjangoは(上で何が起こっているかを確認するクエリセット「クエリ」Methodeのを使用)group by句に主キーを追加することを考え出し:
SELECT DATE_TRUNC(「月」、「accountdata」 "bookingdate。 "renter_id" = 16 GROUP BY "accountdata"。 "id"、DATE_TRUNC( ') "のように、"月 "と同じようにSUM(" accountdata "。" amount "月「 『accountdata』。 『bookingdate』)」
Djangoはこれをやっている理由私はクエリセットの 『値』セクション内のIDを持っていないので、私はKOWません。 ジャンゴ1.11とPython 3.6.1使用
をありがとう!これがトリックです。 – BJS
喜んで助けました=) –