Python Django';s get_或_create方法返回不存在的数据
我有一个名为Service的模型,其中有一个名为Service1的对象。我在壳牌公司得到了以下信息:Python Django';s get_或_create方法返回不存在的数据,python,django,django-1.8,Python,Django,Django 1.8,我有一个名为Service的模型,其中有一个名为Service1的对象。我在壳牌公司得到了以下信息: $ obj, created = Service.objects.get_or_create(name=u'Service1') $ obj <Service: Service1> $ obj.id 3 $ created False $ Service.objects.all() [<Service: Service1>] $ Service.objec
$ obj, created = Service.objects.get_or_create(name=u'Service1')
$ obj
<Service: Service1>
$ obj.id
3
$ created
False
$ Service.objects.all()
[<Service: Service1>]
$ Service.objects.first().id
1
$obj,created=Service.objects.get\u或\u create(name=u'Service1')
$obj
$obj.id
3.
$created
假的
$Service.objects.all()
[]
$Service.objects.first().id
1.
我检查了数据库,发现只有一个服务对象是id=1的服务。为什么
get\u或\u create
要检索一个甚至不存在的对象?问题是缓存。我正在使用一个新的数据库转储,但我忘记了使缓存无效。Django正在检索一个不再存在但可以在旧数据库中找到的对象。Service.objects.get(id=3)的结果是什么?@jerinterGeorgeDoesNotExist:服务匹配查询不存在。
您的服务
模型是否有自定义管理器?@mohistolanki它没有。我使用models.Manager
。不overrides@almanegra你所有的模特都有这种行为吗?