我的DjangoApp正在使用类别来生成导航并将内容放入这些类别中。
有两种类别:
因为那些类别非常相似,所以我不想使用两种不同的模型。 这是我的类别模型:
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
)
;
因此甚至不会创建父关系。
有没有方便的解决方法?
我知道我可以改变表格,但是我正在刷新/删除数据库,因为应用程序变化很快,我不想每次都手动更改表格。
btw:我的dev db当然是sqlite3。 在服务器上我们将使用postgresql
答案 0 :(得分:3)
还有其他事情 - parent
的定义很好。如果我在使用该模型复制粘贴的应用上运行manage.py sql
,我会得到:
BEGIN;
CREATE TABLE "bar_category" (
"id" integer NOT NULL PRIMARY KEY,
"name" varchar(60) NOT NULL,
"slug" varchar(80) NOT NULL,
"is_parent" bool NOT NULL,
"parent_id" integer
)
;
COMMIT;