0
thisによると、データベースに列挙型を格納したいとします。peeweeの静的テーブル
だから、私はGender列挙型とPersonモデルを持っているとしましょう。 Person.select().where(Person.gender == Gender.MALE)
これは、hereのようにPersonでGenderFieldを作成することで実現できます。しかし、ジェンダーはデータベースにテーブルとして格納されず、PersonにはGenderテーブルへの外部キーが必要です。
私は静的な性別のデータをデータベースに格納し、次に列挙型の値でPersonテーブルをクエリできますか?
class Gender(Model):
label = CharField(primary_key=True)
class Meta:
database = db
def create_schema():
# Use an execution context to ensure the connection is closed when
# we're finished.
with db.execution_context():
db.create_tables([Gender, ...], True)
if not Gender.select().exists():
defaults = ['MALE', 'FEMALE', 'UNSPECIFIED']
Gender.insert_many([{'label': label} for label in defaults]).execute()
あなたが動的に新しい追加することを計画している場合、この例では、テーブルには、しかし、だろう性別を作るための唯一の理由:
最初の1の問題点、それはStringly型付けである、と私は性別を毎回照会しなければならないということです、彼らの名前で。 もう1つは私にとってはうまくいかないでしょう。他の関係にも使われているので、私はジェンダーをテーブルにする必要があります。この馬鹿げた例では、トイレに性別を付けたいと思っています。 –