Django 从数据库刷新保持OneToOneField关系
我有一个简单的模型关系: 类模型。模型: bar=型号。OneToOneFieldBar 假设我这样做: >>>bar=bar.objects.create >>>foo=foo.objects.createbar=bar >>>Foo.objects.all.delete >>>bar.foo是无的 错误的 这是预期的,因为bar仍在引用foo对象。但现在,当我试图从DB获得bar的新副本时,即没有相关的foo,我尝试: >>>bar.refresh\u from\u db >>>bar.foo是无的 错误的Django 从数据库刷新保持OneToOneField关系,django,django-models,django-orm,Django,Django Models,Django Orm,我有一个简单的模型关系: 类模型。模型: bar=型号。OneToOneFieldBar 假设我这样做: >>>bar=bar.objects.create >>>foo=foo.objects.createbar=bar >>>Foo.objects.all.delete >>>bar.foo是无的 错误的 这是预期的,因为bar仍在引用foo对象。但现在,当我试图从DB获得bar的新副本时,即没有相关的foo,我尝试: >>>bar.refresh\u from\u db >>>bar.fo
为什么foo没有回来?我在图中看到,当使用refresh_from_db时,只从数据库中重新加载模型的字段。在这种情况下,foo不算作bar字段吗?您使用的是哪个Django版本 早期版本的Django在关系对象未更改其id时未清除缓存。这是他们的票
新版本的Django已经修复了这个问题。事实上,我的Django版本存在问题!谢谢你指出这一点。