набор запросов Джанго:как сделать заказ по связанному полю (обратно)?
-
10-07-2019 - |
Вопрос
В этой ситуации у меня есть две модели: «Комментарий» и «Оценка».Отношения определяются в модели Score следующим образом:
class Comment(models.Model):
content = TextField()
...
class Score(models.Model):
comment = models.ForeignKey(Comment)
value = models.IntegerField()
Мой вопрос:Как мне создать набор запросов, который возвращает все комментарии и упорядочен по значению Score?
Заранее спасибо!
Мартин
Решение
Вам следует изменить свою модель оценки, чтобы использовать поле OneToOne, а не ForeignKey — FK подразумевает, что для каждого комментария имеется более одной оценки, что никогда не будет работать.
Однако в любом случае запрос можно выполнить следующим образом:
Comment.objects.order_by('score__value')
Другие советы
Я все еще новичок в Django, но работаю с ним уже пару месяцев.Я думаю, что этот фрагмент может работать (в порядке возрастания, для использования по убыванию). '-value'
):
comments = [ score.comment for score in Score.objects.order_by('value').all() ]
Не связан с StackOverflow