Django主键

时间:2010-01-20 14:06:04

标签: python django

在django中查询说​​People.objects.all(pk=code)时,pk=code是什么意思?

2 个答案:

答案 0 :(得分:6)

调用People.objects.all(pk=code)(调用所有)将导致忽略pk =代码并返回所有人的QuerySet。

调用People.objects.get(pk=code)(调用获取)将导致返回pk =代码的People对象,如果找不到则会出错。

答案 1 :(得分:5)

这是一个查询,以获取具有“代码”值的主键的People对象。

默认情况下,所有Django模型实例都有一个唯一标识该对象的主键。通常它是一个自动递增的整数,但你可以将它定义为你想要的任何东西,只要它肯定是唯一的。

http://docs.djangoproject.com/en/dev/topics/db/models/#id1

编辑:现在我更仔细地看一下代码片段,而不仅仅是假设它说的话,它没有多大意义。 all()方法应该是get()。将pk提供给all()没有任何意义,因为它只返回该类型的所有对象。

http://docs.djangoproject.com/en/dev/ref/models/querysets/#all http://docs.djangoproject.com/en/dev/ref/models/querysets/#id5