【发布时间】:2026-02-19 20:20:04
【问题描述】:
我有一个名为 Service 的模型,其中有一个名为 Service1 的对象。我在 shell 中得到以下信息:
$ 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
我检查了数据库,只有一个服务对象,即 id=1 的服务。为什么get_or_create 检索一个甚至不存在的对象?
【问题讨论】:
-
Service.objects.get(id=3)的结果是什么? -
@JerinPeterGeorge
DoesNotExist: Service matching query does not exist. -
您的
Service模型是否有自定义管理器? -
@MohitSolanki 它没有。我使用
models.Manager。没有覆盖 -
@almanegra 你所有的模型都有这种行为吗?
标签: python django django-1.8