Bonjour

J'étais en Django3 et je passe en Django 4.2.
J'utilise baker.

En Django4, donc, je découvre l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ValueError: 'maTable' instance needs to have a primary key value before this relationship can be used.
apparait.
Je ne comprends pas cette erreur

data = baker.make(maTable)
provoque l'erreur

data = baker.make(maTable, id=1)
corrige l'erreur


Je remarque:

En Django 3.2, on peut personnaliser la gestion des clés primaires
https://docs.djangoproject.com/en/3....d-primary-keys

Je remarque dans les Releases Notes de Django4.1
https://docs.djangoproject.com/en/5.0/releases/4.1/

Reverse foreign key changes for unsaved model instances¶
In order to unify the behavior with many-to-many relations for unsaved model instances, a reverse foreign key now raises ValueError when calling related managers for unsaved objects.

avec, pour les related managers:

https://docs.djangoproject.com/en/5....RelatedManager



Bref,
Pourquoi faut-t-il fournir la clé primaire en Django 4 lors d'une création d'enregistrement ?



Cordialement