Я пытаюсь создать простую систему ранжирования, где я заказываю предметы по «Оценка», а затем по «ID». Первоначально я построил это PHP, установив «RowNum» переменной в SQL и называя это «Ранг», как это:Решение для ранжирования 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 –