ManyToMany Field Refere to Itself



如何使我的模型使其ManyToMany参考用户

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)

您可以为此传递'self'字符串。默认情况下,引用自身的ManyToManyField是als对称的,因此您可能需要关闭它,因为如果ab的学生,那么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'
)

相关内容

最新更新