可以,作爲表創建過程的一部分,填充性別表:
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()
的唯一原因,使性別在這個例子中的表格,不過,會如果您打算動態地添加新的是運行時的性別標籤。如果設定值是固定的,我的看法是,你最好做這樣的事情:
class Person(Model):
GENDER_MALE = 'M'
GENDER_FEMALE = 'F'
GENDER_UNSPECIFIED = 'U'
name = CharField()
gender = CharField()
# Then, simply:
Person.create(name='Huey', gender=Person.GENDER_MALE)
Person.create(name='Zaizee', gender=Person.GENDER_UNSPECIFIED)
與第一個問題是,它是Stringly類型的,我每次都詢問性別,由他們的名字。 第二個不會爲我工作。我需要將性別列爲表格,因爲它也用於其他關係。在這個愚蠢的例子中,我想用性別來標記廁所。 –