Django中的pk和id的关系
① django中的pk代表了每一个model中的主键,也就是只要model中存在主键,不管主键字段名是什么,都可以用pk来获取主键值。
② django中的id,只有在默认使用django创建的主键,或者自己创建的主键叫做id(这样反而画蛇添足),而不自己创建其他名字的主键,那么此时pk==id,但是如果自己创建了其他情况下,就要使用相应的主键名来获取值,但是,pk此时同样也可以获得到自定义的主键名。
举个简单的例子:
加入我创建了某个model的my_id的主键,我要获取该model的主键,此时有两种写法,model.objects.get(pk=1)
或者model.objects.get(my_id=1)
,而不能再是默认的id作为名字了。
总结:大多数情况下,使用pk就行了。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!