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