多对多的问题&保存自定义

时间:2012-06-01 23:06:29

标签: python django

我有两个课程:故事 XmlLink 。他们之间存在着多对多的关系 我正在尝试自定义XmlLink的保存方法。

想法:当我添加新的xmllink-object时,新的story-object(temp)会在db中创建一些记录。但我还需要在 def save 中自定义 .story 来替换m-to-m关系,例如,(6,7)

class Story(models.Model):
  title = models.CharField(max_length=100)
  content = models.TextField()

class XmlLink (models.Model):
  title = models.CharField(max_length=150)
  story = models.ManyToManyField(Story)
  pk = 1

  def save(self):
    **self.story = (6,7)**

    temp = Story(title = 'temp',
        content = 'testtttt',
    temp.save()
    super(XmlLink, self).save()

我试图搜索一些例子,以及解决这个问题的不同方法,但...... 也许有人可以简化程序?

1 个答案:

答案 0 :(得分:0)

这可能对如何在django中保存M2M关系有所帮助:https://docs.djangoproject.com/en/dev/topics/db/examples/many_to_many

我发现通常更直接,更容易将其直接保存在视图中,而不是在模型上定义保存方法。

此外,这个答案可能有所帮助:Creating a model object with a M2M and FK relationship