Après avoir galéré sur les fixtures django sur les champs ManyToMany, j'ai pu mettre en ligne la mise à jour de la base de données de Resaski.
Voici un modèle simplifié :
class Language(models.Model):
code = models.SlugField(primary_key=True, max_length=10)
name = models.CharField(max_length=200)
class School(models.Model):
slug = models.SlugField(primary_key=True, max_length=200)
languages = models.ManyToManyField(Language)
et un ensemble de fixtures json associé :
[
{"model": "myapp.language",
"pk":"fr",
"fields":{"name": "Français","code": "fr"}
},
{"model": "myapp.language",
"pk":"en",
"fields":{"name": "Anglais","code": "en"}
},
{"model": "myapp.School",
"pk":"ecole-1",
"fields":{"slug":"ecole-1", "languages":[fr]}
},
{"model": "myapp.School",
"pk":"ecole-2",
"fields":{"slug":"ecole-2", "languages":["fr","en"]}
}
]