Как создать модель с отношением один-ко-многим в 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)
   ......
    
Вернуться на верх