我正在使用 django 制作一個帶有 strava 應用程序的網站。但是,在嘗試存儲刷新令牌(下面的代碼)時,程序會遇到 AttributeError。u.refresh_token = str(answer['refresh_token']) u 是 User 類的一個實例:class User(models.Model): username = models.CharField(max_length=200, primary_key=True) password = models.CharField(max_length=200) strava_id = models.CharField(max_length=10) refresh_token = models.CharField(max_length=200) cookie = models.CharField(max_length=200, default='None')錯誤:AttributeError 'dict' object has no attribute 'refresh_token'我明白為什么代碼會這樣做,因為在查看局部變量時,它表明您實際上確實具有屬性 refresh_token。u{'cookie': 'oP2L2ZDziOl7obaaYXmhFcOfRdXmOXurdqURXhX4JsWnPE1FQAIbGoEwpbcXax3h','password': 'W00lly!','refresh_token': '', 'strava_id': '', 'username': 'jeroenkodde'}我測試了它是否可能是 anwer dict,但這并沒有導致問題。為了清楚起見,我還包括了答案詞典:answer {'access_token': '1346cc9606e18693e28c8547100ab936a14973ed', 'athlete': {'badge_type_id': 0, 'city': '', 'country': None, 'created_at': '2018-06-02T15:23:17Z', 'firstname': 'Jeroen', 'follower': None, 'friend': None, 'id': 31434041, 'lastname': 'Kodde', 'premium': False, 'profile': 'avatar/athlete/large.png', 'profile_medium': 'avatar/athlete/medium.png', 'resource_state': 2, 'sex': 'M', 'state': '', 'summit': False, 'updated_at': '2020-07-25T13:14:48Z', 'username': None}, 'expires_at': 1596300110, 'expires_in': 20754, 'refresh_token': '6924c5675d15ca6faae478dc3bd9791e78b7227c', 'token_type': 'Bearer'}此外,在 shell 中測試它時它起作用了。有人可以告訴我代碼有什么問題嗎?
Django model.Model.'instance' 引發 AttributeError
慕田峪9158850
2023-04-18 14:45:37