Python, что это значит «AttributeError: объект« Юникод »не имеет атрибута« has_key »»
Я хотел бы спросить, что это значит "AttributeError: объект 'Unicode' не имеет атрибута 'has_key'" Вот полная трассировка стека:
Traceback (most recent call last):
File "D:\Projects\GoogleAppEngine\google_appengine\google\appengine\ext\webapp\__init__.py", line 509, in __call__
handler.post(*groups)
File "D:\Projects\workspace\foo\src\homepage.py", line 71, in post
country=postedcountry
File "D:\Projects\GoogleAppEngine\google_appengine\google\appengine\ext\db\__init__.py", line 656, in __init__
prop.__set__(self, value)
File "D:\Projects\GoogleAppEngine\google_appengine\google\appengine\ext\db\__init__.py", line 2712, in __set__
value = self.validate(value)
File "D:\Projects\GoogleAppEngine\google_appengine\google\appengine\ext\db\__init__.py", line 2742, in validate
if value is not None and not value.has_key():
AttributeError: 'unicode' object has no attribute 'has_key'
Позвольте мне немного подробнее рассказать о ситуации:
Сначала я создал models.py с db.Model для CMSRequest с атрибутом country, который ссылается на класс CMSCountry.
class CMSRequest(db.Model):
country = db.ReferenceProperty(CMSCountry, required=True)
class CMSCountry(db.Model):
name = db.StringProperty(required=True)
Затем я создал класс массового загрузчика для импорта данных в CMSCountry
В форме пользователь может выбрать страну из выпадающего списка, результаты будут опубликованы и сохранены в объект CMSRequest
def post(self):
postedcountry = self.request.get('country')
cmsRequest = models.CMSRequest(postedcountry)
Возможно, я нашел решение своего вопроса, потому что я не преобразовал опубликованный ключ CMSCountry обратно для сохранения в CMSRequest.
Спасибо всем!