Django SELECT заявление, Сортировать по - PullRequest
4 голосов
/ 09 октября 2009

Предположим, у меня есть 2 модели.

2-я модель имеет непосредственное отношение к первой модели.

Я бы хотел выбрать информацию из первой модели, но ЗАКАЗАТЬ ПО 2-й модели. Как я могу это сделать?

class Content(models.Model):
    link =  models.TextField(blank=True)
    title =  models.TextField(blank=True)
    is_channel =  models.BooleanField(default=0, db_index=True)

class Score(models.Model):
    content = models.OneToOneField(Content, primary_key=True)
    counter =  models.IntegerField(default=0)

1 Ответ

7 голосов
/ 09 октября 2009

Я думаю, что вы можете сделать:

Content.objects.filter(...).order_by('score__counter')

В более общем случае, когда модели имеют связь, вы можете выбирать, упорядочивать и фильтровать по полям в «другой» модели, используя псевдоатрибут relationshipName__fieldName модели, которую вы выбираете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...