今天我发现了一些非常棘手的事情。我使用django1.7.7(如果这很重要的话)
我有两个相关的模型:Car
和Driver
。我想把car对象和driver对象的实例连接起来。两个对象似乎都已创建(*)
在这两种情况下:
car = Car.objects.create()
car.save()
driver = Driver.objects.create()
driver.save()
self.garage.car = car
self.garage.save()
接下来:
# doesn't work
self.garage.car.driver = driver
self.garage.car.save()
# self.object.car.driver is None
但是:
# works
car = self.garage.car
car.driver = driver
car.save()
# self.object.car.driver is driver
(*)-老实说,我不确定这些对象是否已完全创建。一切都在视图中进行,两个对象都已经拥有了id
,但是手动查询数据库显示,这些对象还没有出现。交易未完成
因为在您的示例代码中,first self.object.car与您在下面一行中保存的对象不同。看看这个:
如果上面是假的,唯一的解释就是car是一个属性,每次调用这个属性时都会得到一个新的object实例
相关问题 更多 >
编程相关推荐