2017-07-12 3 views
0

私は辞書でnew_variable = current_user.pubを使用して、データベース内のパブの列からのデータを使用しようとしていますが、私はこのエラーAttributeError: 'NoneType' object has no attribute 'pub'にこのについての任意のヘルプを取得していますが、ずっとここにpython辞書のcurrent_user変数を使用していますか?

を高く評価している私の完全なコード `

pins = { 
     4 : {'name' : 'Channel 1', 'board' : 'esp8266', 'topic' : '/4', 'state' : 'False'}, 
     5 : {'name' : 'Channel 2', 'board' : 'esp8266', 'topic' : '/5', 'state' : 'False'} 
     } 

    variable = pins[4]['topic'] 
    new_variable = current_user.pub 
    pins[4]['topic'] = new_variable 

感謝ですあなた

+1

ここで、「current_user」を定義していますか? – Dadep

+0

'current_user'は定義されていないので、 'pub'属性を持たない' NoneType'です。それを使うために 'current_user'を作成します。 – depperm

+0

お返事ありがとう 実際には' current_user'がパブからデータを呼び出すフラスコログイン列 –

答えて

0

python @propertyデコレータを使用して、クラスにメソッドを作成します。そして、あなたが何でもしたいパブを返してください。

class User(db.Models): 
    id = db.Column(db.Integer, primary_key=True) 
    key = db.Column(db.String(80)) 

    @property 
    def pub(self): 
     return "{}".format(self.key) 
+0

回答をお寄せいただきありがとうございますが、このエラーが発生しました 'TypeError:タイプ 'property'のオブジェクトにlen()がありません –

+0

あなたは何をしようとしていますか?明らかに 'pub'は' list'を返しません。 –

+0

thats私がやったこと 'pins = { 4:{'名前': 'チャンネル1'、 'ボード': 'esp8266'、 'トピック': '/ 4'、 '状態': '偽'} 、 5:{名前}: 'チャンネル2'、 'ボード': 'esp8266'、 'トピック': '/ 5'、 '状態': '偽'} } @property def pub ); return "{}" 変数= pins [4] ['topic'] pub = "{current_user.pub}" ピン[4] ['topic'] = pub ' –

関連する問題