Tôi có một Mô hình đơn giản như thế này:
class Order(models.Model):
created = model.DateTimeField(auto_now_add=True)
total = models.IntegerField() # monetary value
Và tôi muốn đưa ra bảng phân tích từng tháng về:
- Có bao nhiêu lần bán hàng trong một tháng (
COUNT
) - Giá trị kết hợp (
SUM
)
Tôi không chắc cách tốt nhất để tấn công điều này là gì. Tôi đã thấy một số truy vấn chọn thêm trông 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ốt hơn hết là tôi chỉ nên lặp lại các con số, bắt đầu từ một năm / tháng bắt đầu tùy ý và đếm ngược cho đến khi tôi đạt đến tháng hiện tại, loại bỏ đơn giản lọc truy vấn cho tháng đó. Nhiều công việc cơ sở dữ liệu hơn - nhà phát triển bớt căng thẳng hơn!
Điều gì có ý nghĩa nhất đối với bạn? Có cách nào hay để 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 thỉu 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 liệu họ đã thêm một cách đẹp hơn vào GROUP_BY
gần đây hay chưa.