首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在django中将关系添加到数据库之前添加关系

在django中将关系添加到数据库之前添加关系
EN

Stack Overflow用户
提问于 2018-10-17 19:22:06
回答 1查看 33关注 0票数 0

如果我在django有这样的关系

代码语言:javascript
运行
复制
class Reporter(models.Model):  
    pass

class Article(models.Model):
    reporter = models.ForeignKey(Reporter)

我想创建一个新的记者与文章一次,我首先必须save()的记者到数据库,然后我可以添加文章。

但有时,我想准备一切“离线”(从某种意义上说,在将任何东西推送到数据库之前),比如创建一个Reporter对象,向其添加文章,然后可能仍在修改Reporter对象的一些属性。

然后,当一切都完成后,我希望将所有内容一起推送到DB。但当然,当我在调用Reporter.save()之前使用Reporter.article_set.add()时,我会得到一个错误,因为django会尝试自动将项目和外键添加到数据库中。有没有办法防止这种情况,并让我的对象“离线”包含关系?

我自己的方法是,向Reporter添加一个set_articles方法,然后覆盖save()方法,这样它将检查是否设置了任何项目,并在保存Reporter后添加它们

但在我开始即兴发挥之前,我想知道django中是否已经有了任何解决方案

EN

Stack Overflow用户

发布于 2018-10-17 21:42:17

save()方法接受可选的commit关键字参数,该参数接受TrueFalse。如果您使用commit=False调用save(),那么它将返回一个尚未保存到数据库的对象。在本例中,您可以在生成的模型实例上调用save()

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52853692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档