Django主键

Hul*_*ulk 1 python django

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

小智 6

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

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


Jos*_*ght 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