2010-01-20 2 views
1

При запросе в django скажите People.objects.all(pk=code), что означает pk=code означает?Первичный ключ Django

+1

, если это помогает, pk является псевдонимом таблицы 'id' –

ответ

5

Это запрос, чтобы получить объект People, у которого есть первичный ключ любого значения «кода».

По умолчанию все экземпляры модели Django имеют первичный ключ, который однозначно идентифицирует объект. Как правило, это число с автоматическим добавлением, но вы можете определить его как угодно, если оно обязательно будет уникальным.

http://docs.djangoproject.com/en/dev/topics/db/models/#id1

Edit: Теперь, когда я смотрю на фрагмент кода немного ближе, а не только при условии, что он сказал, это не имеет особого смысла. Метод all() должен быть get(). Не имеет смысла давать pk для all(), поскольку он просто возвращает все объекты этого типа.

http://docs.djangoproject.com/en/dev/ref/models/querysets/#all http://docs.djangoproject.com/en/dev/ref/models/querysets/#id5

+0

Вы хотите сказать, что его суммарное значение, например, где code = sumthing или orderby code? – Hulk

6

People.objects.all(pk=code) Вызов (вызов все) приведет к рк = код игнорируется и QuerySet для всех людей, вернулся.

Вызов People.objects.get(pk=code) (по вызову получить) приведет к объекту People с возвратом pk = или ошибке, если не найден.

Смежные вопросы