2017-05-02 34 views
4

在使用之前有字段「ID」的值,我有我的models.py下面的代碼:對象需要這麼多的一對多關係可以在Django

class Tag(models.Model): 
    name = models.CharField(max_length=75) 

class Article(models.Model): 
    tags = models.ManyToManyField(Tag) 

    def save(self, *args, **kwargs): 
     for tag in self.tags: 
      print tag.name 
     super(Article, self).save(*args, **kwargs) 

當我嘗試從管理面板創建文章,我得到以下錯誤:

ValueError: "<Article>" needs to have a value for field "id" before this many-to-many relationship can be used. 

我該如何解決這個問題?我需要在之前訪問並迭代標籤以保存文章。謝謝!

+1

,我相信這個問題是標籤纔會創建後保存以m2m爲單位,因此您的保存方法覆蓋將不適用於默認的管理員行爲 – Mojimi

回答

1

你的

form.save_m2m() 

申報後應

obj.save() 

對象的保存之後多對多字段添加

相關問題