私の DjangoApp は、カテゴリを使用してナビゲーションを生成し、それらのカテゴリにアイテムを配置しています。
カテゴリには次の 2 種類があります。
- ParentCategories (上位カテゴリ)
- ChildCategories (親として ParentCategory を持つサブカテゴリ)
カテゴリへのそれらは非常に似ているため、2 つの異なるモデルを使用したくありません。これは私のカテゴリモデルです:
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を使用します