【发布时间】:2017-04-12 11:14:09
【问题描述】:
在 Django 中,有没有办法创建一个对象,创建它的相关对象,然后一次性保存它们?
例如,在下面的代码中:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=255)
body = models.CharField(max_length=255)
class Tag(models.Model):
post = models.ForeignKey(Post)
title = models.CharField(max_length=255)
post = Post(title='My Title', body='My Body')
post.tag_set = [Tag(post=post, title='test tag'), Tag(post=post, title='second test tag')]
post.save()
我创建了一个 Post 对象。然后我还想创建和关联我的 Tag 对象。我想避免保存帖子然后保存标签,因为如果 post.save() 成功,那么 tag.save() 失败,我会留下一个没有标签的帖子。
在 Django 中有没有办法一次保存所有这些,或者至少可以加强数据完整性?
【问题讨论】:
-
这不就是交易的用途吗?
标签: python django django-models django-orm