views:

77

answers:

1

Hi all,

When writing django queries one can use both id/pk as query parameters.

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

I know that pk stands for Primary Key and is just a shortcut, according to django's documentation. However it is not clear when one should be using id or pk.

Thanks!

+8  A: 

It doesn't matter. pk is more independent from the actual primary key field i.e. you don't have to care whether the primary key field is called id or object_id or whatever.

It also gives your more consistency if you have models with different primary key fields.

Felix Kling
Yep. Just use pk. Always.
celopes
`id` is also a built-in function in Python, I prefer to use pk because of that.
Thierry Lam