Джанго запросы - ID против ПК

150

При написании запросов django можно использовать оба параметра id/pk в качестве параметров запроса.

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

Я знаю, что pk обозначает первичный ключ и является просто ярлыком, согласно документации django. Однако неясно, когда нужно использовать id или pk.

Показать ещё 1 комментарий
Теги:
orm
primary-key

1 ответ

160
Лучший ответ

Это не имеет значения. pk более независим от фактического поля первичного ключа, то есть вам не нужно заботиться о том, называется ли поле первичного ключа id или object_id или что-то еще.

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

  • 22
    Ага. Просто используйте ПК. Всегда.
  • 40
    id также встроенная функция в Python, поэтому я предпочитаю использовать pk.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню