#python #python-3.x #django #django-models
#python #python-3.x #django #django-модели
Вопрос:
Как сделать мою модель так, чтобы ее множество ссылалось на пользователя
class User(AbstractUser):
teacher_or_student = models.CharField(max_length=100)
mobile_number = models.CharField(max_length=100)
grade = models.CharField(max_length=100)
laptop_yes_or = models.CharField(max_length=100)
students = models.ManyToManyField(User)
Ответ №1:
Вы можете передать 'self'
строку для этого. По умолчанию a ManyToManyField
, которое ссылается на себя, также является симметричным, поэтому вы, вероятно, захотите отключить это, поскольку, если a является учеником b, то b сам по себе не является учеником a. Вы можете сделать это, указав symmetrical=False
[Django-doc]:
class User(AbstractUser):
teacher_or_student = models.CharField(max_length=100)
mobile_number = models.CharField(max_length=100)
grade = models.CharField(max_length=100)
laptop_yes_or = models.CharField(max_length=100)
students = models.ManyToManyField(
'self',
symmetrical=False,
related_name='teachers'
)