0

私は peewee を初めて使用するので、これがばかげた質問である場合はご容赦ください。Google と peewee cookbook で検索しましたが、これまでのところ解決策が見つかりませんでした。

したがって、4 つの DB テーブルに次のモデルがあります。

class games_def(Model):
    id = PrimaryKeyField()
    name = TextField()
    class Meta:
        database = dbmgr.DB

class users_def(Model):
    id = PrimaryKeyField()
    first_name = TextField()
    last_name = TextField()
    class Meta:
        database = dbmgr.DB

class sessions(Model):
    id = PrimaryKeyField()
    game = ForeignKeyField(games_def, related_name = 'sessions')
    user = ForeignKeyField(users_def, related_name = 'sessions')
    comment = TextField()
    class Meta:
        database = dbmgr.DB

class world_states(Model):
    session = ForeignKeyField(sessions)
    time_step = IntegerField()
    world_state = TextField()
    class Meta:
        database = dbmgr.DB

これらのモデルを使用して、正常に動作する peewee 経由で SQLite3 DB に接続します。接続が確立されたら、メインの Python コードで次のことを行います。

models.world_states.create(session = 1, time_step = 1)

ただし、これにより次のエラーが発生します。

sqlite3.OperationalError: table world_states has no column named session_id

それは基本的に正しいです。テーブル world_state には実際にそのような列は含まれていません。
ただし、コードで「session_id」への参照がまったく見つかりません。

peewee がその「session_id」列名を使用したいのは誰ですか?
ここで本質的に何かを見逃していますか?

4

1 に答える 1