У меня есть следующие модели:
class ListA(models.Model):
people = models.ManyToManyField(People, through=ListAMembership)
class ListB(models.Model):
pass
class People(models.Model):
name = models.CharField()
listb_membership = models.ForeignKey(ListB)
class ListAMembership(models.Model):
date_joined = models.DateTimeField()
list = models.ForeignKey(ListA)
person = models.ForeignKey(People)
class ListBMembership(models.Model):
date_joined = models.DateTimeField()
Вот условия:
Список A
ListA
объекты может иметь много людей, и People
объекты могут быть на многих объектах ListA - Подробности членства между
People
и ListA
записаны в ListAMembership
Список B
ListB
объектов может иметь много людей, но каждый Person
может быть только на одном ListB
объектах
Как лучше всего чтобы записать дополнительные сведения, касающиеся членства в ListB, способом, которым ListA использует through
для доступа к date_joined
в ListAMembership
?
Я знаю, что могу просто добавить поля к People
относительно ListBMembership
, но есть ли более чистый способ отделить детали этих отношений?