90 votes

Comment obtenir l'ID d'un enregistrement qui vient d'être créé dans Django ?

J'utilise Django 1.3 pour un de mes projets et j'ai besoin d'obtenir l'ID d'un enregistrement qui vient d'être sauvegardé dans la base de données.

J'ai quelque chose comme le code ci-dessous pour sauvegarder un enregistrement dans la base de données :

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

L'ID de l'enregistrement qui vient d'être sauvegardé s'incrémente automatiquement. Existe-t-il un moyen d'obtenir cet ID et de l'utiliser ailleurs dans mon code ?

15 votes

La ligne n.save() n'est pas nécessaire ici, car MyData.objects.create enregistre automatiquement la nouvelle instance.

0 votes

Ma réponse stackoverflow.com/a/25807622/3762142 vous obtiendra l'identité en page html

2voto

Supprimer save() et obtenir pk directement :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X