Запросы 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 или что-то еще.

Это также дает вам больше согласованности, если у вас есть модели с различными полями первичного ключа.