Django - id vs pk
При написании запросов django можно использовать оба параметра id/pk в качестве параметров запроса.
Object.objects.get(id=1)
Object.objects.get(pk=1)
Я знаю, что pk обозначает первичный ключ и является просто ярлыком, согласно документации django. Однако неясно, когда нужно использовать id или pk.
Ответы
Ответ 1
Это не имеет значения. pk
более независим от фактического поля первичного ключа, то есть вам не нужно заботиться о том, называется ли поле первичного ключа id
или object_id
или что-то еще.
Он также дает вам больше согласованности, если у вас есть модели с разными полями первичных ключей.