Bonjour
J'étais en Django3 et je passe en Django 4.2.
J'utilise baker.
En Django4, donc, je découvre l'erreur
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
Partager