Запрет запроса выбора на ForeignKey, когда известен первичный ключ - PullRequest
1 голос
/ 28 мая 2011

чтобы вставить строку в таблицу, имеющую отношение один к одному, вы должны сделать это в Django:

mypk=2   # Comes from the POST request
model=MyModel(myField="Hello", myForeignModel=ForeignModel.objects.get(pk=mypk))
model.save()

Это вызовет запрос SELECT, а затем запрос INSERT.

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

Во-вторых, есть ли здесь проблемы с параллелизмом (в случае, если первичный ключ изменится до того, как пользователь отправит запрос).Если да, то как с этим бороться?

1 Ответ

1 голос
/ 29 мая 2011

Из документов :

За кулисами Django добавляет "_id" к имени поля, чтобы создать имя столбца своей базы данных.

Просто установите myForeignModel_id на значение FK.

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