我有一个可行的方法,但它看起来很笨拙,我认为有更好的方法来做到这一点。在Django中使用manytomany字段实例化模型实例
我有一个模型将用户在我的网站(一个用于学习目的的推特克隆)与其他用户列表相关联。
现在,当我创建一个新用户时,我想用该用户作为列表的成员初始化该列表。
我的模式是:
class FollowerList(models.Model)
follower = models.ForeignKey(User,related_name="follower")
followed = models.ManyToManyField(User,related_name="followed"
在我看来,代码,我现在使用的
user = User.objects.get(username=uname)
flst = FollowerList()
flst.follower = user
flst.save()
flst.followed.add(user)
flst.save()
在我看来,像有应该是创建这样的方法无需调用save()两次,但我似乎无法在文档或其他任何地方找到它。
的问题,当我做到这一点的是,我得到一个错误说的FollowerList对象必须有一个主键,然后它可以将ManyToManyField实例添加到它。我能看到的唯一方法是先实例化并保存,然后添加其他字段。 – 2010-12-23 06:13:39
那么,FollowerList.objects.create(follower = user)会给它一个主键。它保存。 – 2010-12-23 06:15:09