Джанго первичный ключ - PullRequest
       13

Джанго первичный ключ

1 голос
/ 20 января 2010

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

Ответы [ 2 ]

6 голосов
/ 20 января 2010

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

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

5 голосов
/ 20 января 2010

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

По умолчанию все экземпляры модели 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...