在編寫django查詢時,可以同時使用id/pk作爲查詢參數。Django查詢 - id vs pk
Object.objects.get(id=1)
Object.objects.get(pk=1)
根據django的文檔,我知道pk代表主鍵,只是一個快捷鍵。但是,不清楚何時應該使用id或pk。
在編寫django查詢時,可以同時使用id/pk作爲查詢參數。Django查詢 - id vs pk
Object.objects.get(id=1)
Object.objects.get(pk=1)
根據django的文檔,我知道pk代表主鍵,只是一個快捷鍵。但是,不清楚何時應該使用id或pk。
沒關係。 pk
更加獨立於實際的主鍵字段,即您不必關心主鍵字段是否被稱爲id
或object_id
或其他什麼。
如果您的模型具有不同的主鍵字段,它還可以提供更高的一致性。
是的。只需使用PK。總是。 – cethegeek 2010-01-30 20:23:13
'id'也是Python中的一個內置函數,因此我更願意使用pk。 – 2010-10-23 14:05:29
是的,「pk」是最好的。請參閱Python標準庫中的[內置函數'id''的文檔](https://docs.python.org/3.5/library/functions.html#id)。 (這與Python 2中的相同(https://docs.python.org/2.7/library/functions.html#id)。) – 2016-03-23 08:17:11
以下是相應的文檔:[for''id''](https://docs.djangoproject.com/en/1.9/topics/db/models/#automatic-primary-key-fields)和[for ''pk''](https://docs.djangoproject.com/en/1.9/topics/db/queries/#the-pk-lookup-shortcut) – 2016-03-23 09:18:45
[Model.id和Model之間有什麼區別.pk在Django?](http://stackoverflow.com/questions/22345711/whats-the-difference-between-model-id-and-model-pk-in-django) – Travis 2016-10-05 16:26:14
想知道是否有更多的東西它是https://docs.djangoproject.com/en/1.11/topics/db/queries/#copying-model-instances – 2017-07-11 16:52:45