全部,
我有一组相关模型:
class Foo(models.Model):
fooName = models.CharField()
bars = models.ManyToManyField("Bar")
class Bar(models.Model):
barName = models.CharField()
当我创建一个新的时,我希望它有一组默认数据。这对于普通字段来说很容易做到。但我不确定如何处理关系字段。假设我希望每个 foo 都用名称“我是一个 foo”和一组三个栏进行初始化,每个栏都有特定的名称(比如,“我是栏一”,“我是栏二”和“我我是三小节。”)。
def Initialize(self)
self.fooName = "I am a foo"
self.bars = ?!?
我只是不确定该怎么做。有什么建议吗?
最佳答案
您不能在没有主键的模型实例上使用多对多关系。
- 保存模型,启用 m2m 关系
- 保存您的其他模型,以便在另一端也启用 m2m 关系
- 使用 .add(),例如 yourmodel.bars.add(othermodel)
如果你想设置默认的初始数据,你应该use fixtures .
关于django - 初始化模型字段,包括 manytomanyfields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9355736/