Salut Supposons que j'ai une classe de modèle simple comme celle-ci:
class TestModel(models.Model):
testkey = models.ForeignKey(TestModel2)
...
Lorsque je crée un objet TestModel, je dois lui transmettre une instance de l'objet TestModel2 pour le créer:
testkey =TestModel2.objects.get(id=...)
TestModel.objects.create(testkey=testkey)
Cela aboutit à 2 requêtes sur la base de données, je suppose, et j'ai une liste d'ID de clés étrangères avec lesquelles j'ai besoin de créer des objets.
Est-il possible de créer des objets avec des clés étrangères sans récupérer initialement les objets de clés étrangères?
Ce que vous cherchez, c’est:
TestModel.objects.create(testkey_id=1)
Dans get_or_create
, il échouera dans get. Donc, pour que get_or_create
fonctionne, la solution est la suivante:
TestModel.objects.get_or_create(testkey=TestModel2(id=1))
Référence: https://code.djangoproject.com/ticket/13915