编写Django查询时,可以同时使用id/pk作为查询参数.

Object.objects.get(id=1)
Object.objects.get(pk=1)

根据Django的文档,我知道PK代表主键,它只是一条捷径.然而,还不清楚什么时候应该使用id或pk.

推荐答案

无所谓.pk更独立于实际的主键字段,也就是说,您不需要关心主键字段是被称为id还是object_id或其他什么.

如果您的模型具有不同的主键字段,它还可以提供更多的一致性.

Django相关问答推荐

如何在Django中将可选参数传递给视图?

身份验证有效,但登录无效.一直卡在pending

来自 Django 应用程序的日志(log)消息未上传到 AWS CloudWatch

如何在 gunicorn conf 文件中指定 uvicorn 工作人员

使用 Python/Django 上传大文件

JSP模板继承

获取 Django 中的缓存键列表

Django 从字段开始

如何在 Django 模板上实现 back链接?

Django 向用户推送 HTTP 响应

Django UrlResolver,在运行时添加 url 进行测试

在python中查找对对象的所有引用

使用 sqlite 运行 django 测试

get_or_create() 线程安全吗

Django Rest Framework - 缺少静态目录

如何在 django 中分离我的模型?

AWS Cognito 作为网站的 Django 身份验证后端

Django模板过滤器(filters)、标签(tags)、simple_tags和inclusion_tags

关闭 Django Rest Framework ModelViewSet 的自动分页

确保只有一个工作人员在运行多个工作人员的 pyramid 网络应用程序中启动 apscheduler 事件