webdevqa.jp.net

保存したばかりのレコードのIDを取得する方法

私のプロジェクトの1つにDjango 1.3を使用しています。データベースに保存したばかりのレコードのIDを取得する必要があります。

データベースにレコードを保存するには、次のコードのようなものがあります。

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

レコードのIDは、自動インクリメントを保存しました。そのIDを取得し、コードのどこかで使用する方法はありますか?

62
avatar

つかいます n.id保存後。

自動増分主キー 」を参照してください。

96
JamesO

それはそのようになります n.pk

Model.pk 」を引用するには:

主キーフィールドを自分で定義するか、Django=を提供するかを問わず、各モデルにはpkというプロパティがあります。これはモデルの通常の属性のように動作しますが、実際にはモデルの主キーフィールドである属性のエイリアスこの値は、他の属性の場合と同様に読み取りおよび設定でき、モデルの正しいフィールドを更新します。

47
Davor Lucic

IDはモデルで自動的に更新されるため、n.save()行の直後にn.idが入力されます。

7

Save()を削除し、pkを直接取得します。

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