ฉันมีโมเดลง่ายๆดังนี้:
class Order(models.Model):
created = model.DateTimeField(auto_now_add=True)
total = models.IntegerField() # monetary value
และฉันต้องการแสดงการแยกย่อยแบบเดือนต่อเดือนของ:
- ในหนึ่งเดือนมียอดขายเท่าใด (
COUNT
) - มูลค่ารวม (
SUM
)
ฉันไม่แน่ใจว่าวิธีที่ดีที่สุดในการโจมตีนี้คืออะไร ฉันเคยเห็นข้อความค้นหาพิเศษที่ดูค่อนข้างน่ากลัว แต่ความคิดง่ายๆของฉันกำลังบอกฉันว่าฉันอาจจะดีกว่าแค่การวนซ้ำตัวเลขโดยเริ่มจากปี / เดือนเริ่มต้นโดยพลการและนับไปเรื่อย ๆ จนกว่าฉันจะถึงเดือนปัจจุบันทิ้งง่ายๆ การกรองคำค้นหาสำหรับเดือนนั้น งานฐานข้อมูลมากขึ้น - ความเครียดของนักพัฒนาน้อยลง!
อะไรที่เหมาะสมกับคุณที่สุด มีวิธีที่ดีที่ฉันสามารถดึงตารางข้อมูลด่วนกลับมาได้หรือไม่? หรือวิธีสกปรกของฉันอาจเป็นความคิดที่ดีที่สุด?
ฉันใช้ Django 1.3 ไม่แน่ใจว่าพวกเขาได้เพิ่มวิธีที่ดีกว่าGROUP_BY
เมื่อเร็ว ๆ นี้หรือไม่