Tôi đã có một mô hình đơn giản như thế này:Django: Nhóm theo ngày (ngày, tháng, năm)
class Order(models.Model):
created = model.DateTimeField(auto_now_add=True)
total = models.IntegerField() # monetary value
Và tôi muốn đầu ra một sự cố tháng-by-tháng:
- bao nhiêu bán hàng đã có trong một tháng (
COUNT
) - giá trị kết hợp (
SUM
)
tôi m không chắc chắn cách tốt nhất để tấn công này là gì. Tôi đã nhìn thấy một số truy vấn tìm kiếm khá đáng sợ nhưng tâm trí đơn giản của tôi đang nói với tôi rằng tôi có thể tốt hơn khi chỉ lặp lại các con số, bắt đầu từ một năm bắt đầu tùy ý/tháng và đếm cho đến khi tôi đạt đến tháng hiện tại. lọc truy vấn cho tháng đó. Công việc cơ sở dữ liệu nhiều hơn - ít căng thẳng hơn cho nhà phát triển!
Điều gì có ý nghĩa nhất đối với bạn? Có cách nào tốt đẹp để tôi có thể lấy lại một bảng dữ liệu nhanh không? Hoặc là phương pháp bẩn của tôi có lẽ là ý tưởng tốt nhất?
Tôi đang sử dụng Django 1.3. Không chắc chắn nếu họ đã thêm một cách đẹp hơn để GROUP_BY
gần đây.
Đây là một bản sao của http://stackoverflow.com/questions/8596856/django-get-distinct-dates-from-timestamp và http://stackoverflow.com/questions/1236865/grouping-dates -in-django/8597940 # 8597940 – tback