过去7天内,我一直无法解决问题,但仍然无法解决该问题!现在非常沮丧!
我想要用GroupMess
创建新的admin
时,同一管理员应自动添加到members
字段中,
这是我的模特
class GroupMess(models.Model):
admin = models.OneToOneField(
User,
on_delete=models.CASCADE,
related_name='mess_admin'
)
members = models.ManyToManyField(User, related_name='mess_members', blank=True)
def save(self, *args, **kwargs):
self.members.add(self.admin)
super(GroupMess, self).save(*args, *kwargs)
如果我尝试创建新的GroupMess
,则会引发此错误:
"<GroupMess: GroupMess object (None)>" needs to have a value for field "id" before this many-to-many relationship can be used.
如果我这样重写save
方法:
def save(self, *args, **kwargs):
super(GroupMess, self).save(*args, *kwargs)
self.members.add(self.admin)
然后它不会引发任何错误,但是问题是,members
字段仍然为空
任何人都可以帮助解决此问题吗?
我想在创建GroupMess
时在创建分组时添加管理员,并且members
字段应自动填充admin
*我的意思是,组管理员也将是组成员*
答案 0 :(得分:0)
将成员添加到“组”模型后,再次保存。
def save(self, *args, **kwargs):
super(Group, self).save(*args, **kwargs)
self.members.add(self.admin)
self.save()