Я пишу приложение для социальных сетей с django. Я спроектировал модель, но когда я пытаюсь ее заполнить, она выдает эту ошибку:
ValueError at /admin/social/group/add/
"<Group: Group object (None)>" needs to have a value for field "id" before this many-to-many relationship can be used.
Это мои модели:
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=20)
class Group(models.Model):
admin = models.ForeignKey(
Person,
on_delete=models.CASCADE,
related_name='group_admin'
)
members = models.ManyToManyField(
Person,
related_name='group_members',
blank=True
)
def save(self, *args, **kwargs):
self.members.add(self.admin)
super(Group, self).save(*args, **kwargs)
Я хочу, чтобы admin
такжебыть членом group
.
Когда я сохраняю такой метод save
, как этот ...
def save(self, *args, **kwargs):
super(Group, self).save(*args, **kwargs)
self.members.add(self.admin)
... он не выдает никакой ошибки, но также и поле членовне заполняется должным образом.
Я хочу добиться того, чтобы при отправке администратора при создании Group
поле членов автоматически заполнялось тем же внешним ключом администратора.
Я имею в виду, admin
будет в members
той же группы.
Может кто-нибудь помочь мне достичь этого?