【发布时间】:2018-02-02 00:01:35
【问题描述】:
我有 2 个模型:
class Vendor(models.Model):
admin = models.ForeignKey(User)
...
class User(models.Model):
...
我想在一个事务中创建用户和供应商:
with transaction.atomic():
user = User(name="test")
user.save()
vendor = Vendor(admin=user)
vendor.save()
但我得到错误: ValueError: save() 禁止以防止由于未保存的相关对象“管理员”而导致数据丢失。 如何修复此错误?如何在 1 个事务中创建这 2 个对象?
【问题讨论】:
-
该代码不应该给出错误,因为您在
vendor = Vendor(admin=user)之前调用了user.save()。请显示实际代码和完整的回溯。 -
是的@Alasdair 是对的。你使用了那笔交易吗?
标签: django