Получение первого элемента в отношении «многие ко многим» в Django

У меня есть две модели в Django, связанные между собой отношением ManyToMany, например:

class Person(models.Model):
    name = models.CharField(max_length=128)

class Group(models.Model):
    name = models.CharField(max_length=128)
    members = models.ManyToManyField(Person)

Мне нужно чтобы получить главного человека в группе, который является первым человеком в группе. Как мне найти первого человека?

Вот как я добавляю участников:

grp = Group.objects.create(name="Group 1")
grp.save()
prs = Person.objects.create(name="Tom")
grp.members.add(prs) #This is the main person of the group.
prs = Person.objects.create(name="Dick")
grp.members.add(prs)
prs = Person.objects.create(name="Harry")
grp.members.add(prs)

Я не думаю, что мне нужны дополнительные столбцы, так как идентификатор таблицы group_members - это текущая последовательность, верно .

Если я попытаюсь получить главного члена группы через Group.objects.get (id = 1) .members [0] , то Django скажет, что менеджер не индексируется.

Если я попробую этот Group.objects.get (id = 1) .members.all (). Order_by ('id') [0] , я получу элемент с наименьшим идентификатором в Персональный стол.

Как я могу решить эту проблему?

Спасибо

6
задан Mridang Agarwalla 13 February 2012 в 15:22
поделиться