我有一個可行的方法,但它看起來很笨拙,我認爲有更好的方法來做到這一點。在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