Mon DjangoApp utilise des catégories pour générer une navigation et mettre des choses dans ces catégories.django relations récursives
Il existe deux types de catégories: sont si similaires
- ParentCategories (catégories supérieures)
- ChildCategories (les sous-catégories qui ont un ParentCategory comme parent)
Parce que les catégories Je ne veux pas utiliser deux modèles différents. Ceci est mon modèle de catégorie:
class Category(models.Model):
name = models.CharField(max_length=60)
slug = models.SlugField(max_length=80, blank=True)
is_parent = models.BooleanField()
parent = models.ForeignKey('self', null=True, blank=True)
Dans mon djangoadmin le parent ne sera pas représenté. Si j'utilise sql python manage.py je reçois:
CREATE TABLE "catalog_category" (
"id" integer NOT NULL PRIMARY KEY,
"name" varchar(60) NOT NULL,
"slug" varchar(80) NOT NULL,
"is_parent" bool NOT NULL
)
;
Ainsi, la relation parent ne sera même pas créé.
Existe-t-il un moyen pratique de résoudre ce problème?
Je sais que je pourrais simplement modifier la table, mais je suis en train de vidanger/supprimer la base de données beaucoup parce que l'application change rapidement et je ne veux pas modifier la table à chaque fois manuellement. Btw: mon dev db est bien sûr sqlite3. Sur le serveur, nous utiliserons postgresql
Quelle version de Django vous utilisez? –