Как создать модель с отношением один-ко-многим в Django?
Мне нужно создать отношения один-ко-многим. Одна группа может иметь много членов.
Правильно ли я сделал?
Модель:
class Group(models.Model):
id = models.BigAutoField(primary_key=True)
groupName: models.CharField(max_length=100)
description: models.CharField(max_length=255)
createdAt = models.DateTimeField(auto_now_add=True)
updatedAt = models.DateTimeField(auto_now=True)
members: models.ForeignKey(User, n_delete=models.CASCADE)
ForeignKey
представляет отношения ManyToOne
, так что здесь, согласно вашей модели, у одного члена будет много групп.
Если вы хотите, чтобы в одной группе было много членов, то модели должны быть такими.
class Group(models.Model):
id = models.BigAutoField(primary_key=True)
groupName: models.CharField(max_length=100)
description: models.CharField(max_length=255)
createdAt = models.DateTimeField(auto_now_add=True)
updatedAt = models.DateTimeField(auto_now=True)
class Member(models.Model):
group = models.ForeignKey(Group)
......