запрос django для выбора уникальных строк на основе значения поля внешнего ключа - PullRequest
2 голосов
/ 04 июня 2019

Привет, у меня есть две модели, подобные этой

class Department(models.Model):
  name = models.CharField(max_length=100)
  creator = models.ForeignKey(User)


class Post(models.Model):
  title = models.CharField(max_length=100)
  description = models.TextField()
  is_active= models.BooleanField(default=True)
  department = models.ForeignKey(Deparment)
  post_by = models.ForeignKey(User)
  
  

Пользователи могут создавать n сообщений из одного и того же отдела n раз.Но я хочу получить только одно сообщение от каждого отдела. Например: у отдела A 10 пользователей, все пользователи опубликованы с одинаковыми заголовком и описанием. У отдела B 10 пользователей, все пользователи с одинаковым названием и описанием.

теперь я хочу получить первое созданное сообщение из каждого отдела, в своих результатах я хочу сначала создать сообщение из отдела A и сначала создать сообщение из отдела B.

Как я могу это сделать?

1 Ответ

0 голосов
/ 04 июня 2019

Сначала получите все отделы , а затем получите first_post от каждого отдела:

departments = Department.objects.all()

post_list = []

for department in departments:
    post_list.append(department.post_set.all()[0])

Теперь у post_list будет по одному посту от каждого отдела.

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