我的 DjangoApp 正在使用类别来生成导航并将内容放入这些类别中。
有两种类型的类别:
- ParentCategories(顶级类别)
- ChildCategories(以 ParentCategory 作为父级的子类别)
因为类别非常相似,所以我不想使用两种不同的模型。这是我的类别模型:
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)
在我的 djangoadmin 中,不会代表父级。如果我使用 python manage.py sql 我得到:
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
)
;
所以甚至不会创建父关系。
有没有一种方便的方法来解决这个问题?
我知道我可以只更改表,但我正在刷新/删除数据库很多,因为应用程序更改很快,我不想每次都手动更改表。
顺便说一句:我的开发数据库当然是 sqlite3。在服务器上,我们将使用 postgresql