在Django中实例化具有manytomany字段的模型实例

Mat*_*ips 12 django django-models manytomanyfield

我有一个有效的方法,但它似乎非常笨拙,我认为有更好的方法来做到这一点.

我有一个模型,它将我网站上的用户(用于学习目的的推文克隆)与其他用户列表相关联.

现在,当我创建一个新用户时,我希望将该列表初始化为用户作为列表的成员.

我的模特是:

class FollowerList(models.Model)
    follower = models.ForeignKey(User,related_name="follower")
    followed = models.ManyToManyField(User,related_name="followed")
Run Code Online (Sandbox Code Playgroud)

在我看来,我现在正在使用的代码是

user = User.objects.get(username=uname)
flst = FollowerList()
flst.follower = user
flst.save()
flst.followed.add(user)
flst.save()
Run Code Online (Sandbox Code Playgroud)

在我看来应该有一个方法来创建它而不调用save()两次,但我似乎无法在文档或其他任何地方找到它.

Yuj*_*ita 12

在many2many.add()之后你不需要调用save

您还可以将代码缩短为2行:

flst = FollowerList.objects.create(follower=user)
flst.followed.add(user)
Run Code Online (Sandbox Code Playgroud)