2016-10-16 4 views
1

私はピーエーデータベースを作成しています。私のpythonのコードでは、私は、空であってもよいモデルから行を取得しよう:Peeweeの ".select()"メソッドの問題

player_in_db = Player.select().where(Player.name == player.name_display_first_last)

Playerモデル

nameの名前が定義されてPlayer ...

にフィールドインスタンスです
class Player(Model): 
     name = CharField() 

player.name_display_first_last は私が得る文字列

ですエラーが発生しましたpeewee.OperationalError: no such column: t1.name

私はこの問題を今日の大部分のために解決しようとしてきましたが、役に立たないです。どんな助けでも大歓迎です。あなたが私を助けるために必要な情報があれば教えてください。ありがとう。

答えて

0

エラーは、Playerモデルで使用されているテーブル(t1)にnameという列がないことを示しています。ほとんどの場合、PeeWeeに、名前フィールドがある前にプレーヤーのテーブルを作成するように指示したか、まったくテーブルを作成していない可能性があります。モデルを作成する前に、モデルを完全に書き込むようにしてください。

今のところテストデータを使用している場合は、drop_table()を使用してテーブル全体を削除し、create_tables()で再作成できます。

drop_tables(Player) 
create_tables([Player]) 
+0

私が行ったことは、モデルを定義して、次に言ったことです: – leojacoby

+0

私は間違ってそれを入力しました。私はクラスを定義し、テーブルを作成しました: 'db.create_tables([Player]、safe = True)'。いつ名前フィールドを定義する必要がありますか? – leojacoby

+0

ちょうどそれを考え出した。ありがとうございました – leojacoby