набор запросов Джанго:как сделать заказ по связанному полю (обратно)?

StackOverflow https://stackoverflow.com/questions/1643799

Вопрос

В этой ситуации у меня есть две модели: «Комментарий» и «Оценка».Отношения определяются в модели 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() ]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top