Ada*_*amY 6 python django django-models django-orm
在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()
Run Code Online (Sandbox Code Playgroud)
我创建了一个Post对象.然后我还想创建并关联我的Tag对象.我想避免保存Post然后保存标签,因为如果post.save()成功,那么tag.save()失败,我留下了没有标签的帖子.
Django中是否有一种方法可以同时保存这些内容或者至少可以实现更好的数据完整性?
交易救援!
from django.db import transaction
with transaction.atomic():
post = Post.objects.create('My Title', 'My Body')
post.tag_set = [Tag(post, 'test tag'), Tag(post, 'second test tag')]
Run Code Online (Sandbox Code Playgroud)
作为旁注:我认为你真的想要Post和Tag... 之间的多对多关系......
| 归档时间: |
|
| 查看次数: |
6052 次 |
| 最近记录: |