Django 主键
在Django中,当你查询数据,比如用 People.objects.all(pk=code)
这个命令时,pk=code
的意思是什么呢?
这里的 pk
是“主键”的缩写,主键是用来唯一标识每一条记录的一个字段。简单来说,就是每个人都有一个独特的编号,像身份证号码一样。code
就是你想要查找的那个特定人的主键值。通过这个命令,Django会帮你找到主键为 code
的那个人的信息。
相关问题:
2 个回答
7
当你使用 People.objects.all(pk=code)
这个命令时,里面的 pk=code 会被忽略,结果会返回所有的 People 对象。
而如果你使用 People.objects.get(pk=code)
这个命令,系统会返回 pk=code 对应的那个 People 对象,如果找不到的话,就会报错。
5
这是一个查询,用来获取一个名为“People”的对象,这个对象的主键是“code”的值。
默认情况下,所有Django模型的实例都有一个主键,用来唯一标识这个对象。一般来说,这个主键是一个自动递增的整数,但你也可以自定义它,只要确保它是唯一的就行。
http://docs.djangoproject.com/en/dev/topics/db/models/#id1
补充:现在我仔细看了一下代码片段,而不是仅仅假设它的意思,发现这并不太合理。这里的all()方法应该用get()。因为all()方法是用来返回所有该类型对象的,给它一个主键没有意义。
http://docs.djangoproject.com/en/dev/ref/models/querysets/#all http://docs.djangoproject.com/en/dev/ref/models/querysets/#id5