Ответ 1
Используйте n.id
после сохранения.
Я использую Django 1.3 для одного из моих проектов, и мне нужно получить идентификатор записи, только что сохраненной в базе данных.
У меня есть что-то вроде кода ниже, чтобы сохранить запись в базе данных:
n = MyData.objects.create(record_title=title, record_content=content)
n.save()
Идентификатор только что сохраненных автоинкрементов. Есть ли способ получить этот идентификатор и использовать его где-то еще в моем коде?
Используйте n.id
после сохранения.
Это будет n.pk
.
Чтобы процитировать " Model.pk":
Независимо от того, определяете ли вы поле первичного ключа самостоятельно, или пусть Django поставляет один для вас, каждая модель будет иметь свойство pk. Это ведет себя как обычный атрибут на модель, но на самом деле является псевдонимом для какой атрибут является первичным ключом поле для модели. Вы можете читать и установите это значение так же, как и для любой другой атрибут, и он будет обновите правильное поле в модели.
Идентификатор автоматически обновится в вашей модели, поэтому сразу после строки n.save()
вы можете прочитать n.id
, и он будет заполнен.
Удалите save() и получите pk напрямую:
n = MyData.objects.create(record_title=title, record_content=content)
n.pk