deleted
削除されたレコードをマークするフィールドを持つ基本エンティティが必要です。そして、私には2つのサブクラスがあり、それぞれに独自の列を持つ独自のテーブルがあります:
from elixir import *
from sqlalchemy import create_engine
class Catalog(Entity):
using_options(inheritance='concrete')
deleted = Boolean
class Contact(Catalog):
using_options(inheritance='concrete')
name = Field(String(60))
class Location(Catalog):
using_options(inheritance='concrete')
name = Field(String(100))
setup_all()
metadata.bind = create_engine('sqlite:///', echo=True)
metadata.create_all()
そして結果:
CREATE TABLE __main___catalog (
id INTEGER NOT NULL,
PRIMARY KEY (id)
)
CREATE TABLE __main___contact (
id INTEGER NOT NULL,
name VARCHAR(60),
PRIMARY KEY (id)
)
CREATE TABLE __main___location (
id INTEGER NOT NULL,
name VARCHAR(100),
PRIMARY KEY (id)
)
質問:
基本エンティティのテーブルの作成を回避するにはどうすればよいですか?- 解決済み:using_options(abstract = True)
-これで解決しました-中に入れるのを忘れていましたdeleted
作成されたテーブルにフィールドがないのはなぜですか?Field
- 各サブクラスに入力することは避けたいのです
using_options(inheritance='concrete')
が、それでも「具体的な継承」があります。すべてのサブクラスのデフォルトにする方法はありますか?