Подтвердить что ты не робот

Как получить идентификатор только что сохраненной записи

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

У меня есть что-то вроде кода ниже, чтобы сохранить запись в базе данных:

n = MyData.objects.create(record_title=title, record_content=content)
n.save()

Идентификатор только что сохраненных автоинкрементов. Есть ли способ получить этот идентификатор и использовать его где-то еще в моем коде?

4b9b3361

Ответ 2

Это будет n.pk.

Чтобы процитировать " Model.pk":

Независимо от того, определяете ли вы поле первичного ключа самостоятельно, или пусть Django поставляет один для вас, каждая модель будет иметь свойство pk. Это ведет себя как обычный атрибут на модель, но на самом деле является псевдонимом для какой атрибут является первичным ключом поле для модели. Вы можете читать и установите это значение так же, как и для любой другой атрибут, и он будет обновите правильное поле в модели.

Ответ 3

Идентификатор автоматически обновится в вашей модели, поэтому сразу после строки n.save() вы можете прочитать n.id, и он будет заполнен.

Ответ 4

Удалите save() и получите pk напрямую:

n = MyData.objects.create(record_title=title, record_content=content)
n.pk