0
我有一個Django查詢,我想組測試嘗試通過爲test_id次數並獲得每次測試之間的平均值。Django查詢:你可以嵌套註釋嗎?
的test_attempts表記錄每個測試嘗試在用戶在給定的測試。我想找到每個測試
這裏嘗試的平均數量是我的查詢:
average = TestAttempts.objects.values('test_id').annotate(Avg(Count('test_id'))).filter(user_id=id)
我收到以下錯誤: 「伯爵」對象有沒有屬性「分裂」
有沒有辦法處理這個,而不必寫入原始的SQL?
UPDATE: 這裏是TestAttemt模型
class TestAttempts(models.Model):
id = models.IntegerField(primary_key=True)
user_id = models.IntegerField()
test_id = models.IntegerField()
test_grade = models.DecimalField(max_digits=6, decimal_places=1)
grade_date_time = models.DateTimeField()
start_time = models.DateTimeField()
seconds_taken = models.IntegerField()
taking_for_ce_credit = models.IntegerField()
ip_address = models.CharField(max_length=25L)
grade_points = models.DecimalField(null=True, max_digits=4, decimal_places=1, blank=True)
passing_percentage = models.IntegerField(null=True, blank=True)
passed = models.IntegerField()
class Meta:
db_table = 'test_attempts'
這正是我正在尋找的,再次感謝您的幫助,我花了大量時間翻閱文檔,沒有運氣 – xXPhenom22Xx 2013-04-07 20:40:16
TestAttempt表與測試表沒有PK或關係。當我嘗試使用第二個選項,因爲它通過爲test_id看起來組第一,然後計數和平均值我得到一個SQL錯誤? (1064,「您的SQL語法錯誤;檢查對應於你的MySQL服務器版本由於使用接近」正確的語法手冊(SELECT'test_attempts'.'test_id' AS'test_id',COUNT( 'test_attempts'.'id')」第1" 行) – xXPhenom22Xx 2013-04-07 21:55:33
這感覺就像在Django的錯誤:(你能不能把你的模型,你的問題? – 2013-04-07 22:00:44