Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 从数据库刷新保持OneToOneField关系_Django_Django Models_Django Orm - Fatal编程技术网

Django 从数据库刷新保持OneToOneField关系

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

我有一个简单的模型关系:

类模型。模型: 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是无的 错误的
为什么foo没有回来?我在图中看到,当使用refresh_from_db时,只从数据库中重新加载模型的字段。在这种情况下,foo不算作bar字段吗?

您使用的是哪个Django版本

早期版本的Django在关系对象未更改其id时未清除缓存。这是他们的票


新版本的Django已经修复了这个问题。

事实上,我的Django版本存在问题!谢谢你指出这一点。