我試圖建立一個簡單的排名系統,我通過'Score'和'ID'命令主題。 我最初建,這是通過設置在SQL中「ROWNUM」變量並調用「排名」這樣的PHP:Django排名解決方案
public function rank() {
global $database;
$sql = "SET @rownum :=0";
$database->query($sql);
$sql = "SELECT rank FROM (
SELECT @rownum:[email protected]+1 AS rank, id, score
FROM subjects
ORDER BY score DESC, id ASC) AS derived_table
WHERE id = {$this->id}";
$result_set = $database->query($sql);
$row = $database->fetch_array($result_set);
return array_shift($row);
}
我可能指數從一個QuerySet,但我還沒有想出怎麼辦那也是。 有關我如何在Django中完成此操作的任何想法?
型號:
class Subject(models.Model):
def __unicode__(self):
return self.name
def __str__(self):
return self.name
name = models.CharField(max_length=40)
score = models.IntegerField(default=0)
created = models.DateTimeField(default=datetime.datetime.now)
在此先感謝!
您是否爲您的數據庫構建了Django模型?如果可以,你可以包括嗎?這通常是你的django模型中的方法.py – 2012-04-20 19:30:23