Dans mon projet Django, j'ai créé initialement un fichiers models.py avec quelques classes Models. Pas de pb.
Quelques jours plus tard, j'ai ajouté une nouvelle classe Model:
class Country(models.Model):
country = models.CharField(max_length=15, choices=COUNTRY)
et ajouté la ligne:
country = models.ManyToManyField(Country)
dans la classe Membership existante:
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
country = models.ManyToManyField(Country)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
Via SSH j'ai saisi la commande manage.py sql membres qui a bien créé la table suivante:
CREATE TABLE "membres_membership_country" (
"id" integer NOT NULL PRIMARY KEY,
"membership_id" integer NOT NULL REFERENCES "membres_membership" ("id"),
"country_id" integer NOT NULL REFERENCES "membres_country" ("id"),
UNIQUE ("membership_id", "country_id")
)
;
et la nouvelle table Country.
J'ai fait la syncdb via SSH. Mais dans l'interface ADMIN j'ai l'erreur suivante:
Exception Value: no such table: membres_membership_country
La table "membres_membership_country" ne semble pas créée.
En résumé:
Dans un projet Django comment valider les modifs apportées ultérieurement à la base de données? les commandes manage.py sql et manage.py syncdb suffisent-elles?
Merci et bon week-end
Partager