У меня есть приложение Django. В представлении я вызываю другую функцию (в stats.py), которая затем делает HTTP POST.<django.utils.functional.SimpleLazyObject объект в 0x2b4d1fe47650> не JSON serializable
views.py
from stats import Stat
a = Stat(example="12345")
a.use(id='query')
stats.py
self.data = { example : "12345" }
req = urllib2.Request(api_url)
req.add_header('Content-Type', 'application/json')
response = urllib2.urlopen(req, json.dumps(self.data))
Проблема, которая возникает в том, что я получаю ошибку,
<django.utils.functional.SimpleLazyObject object at 0x2b4d1fe47650> is not JSON serializable
Джанго трассировки назад
Глядя на Django TraceBack я получаю следующее,
/prod/tools/lx/views.py in update_input
a.use(id='query')
...
/prod/tools/main/stats.py in log_use
response = urllib2.urlopen(req, json.dumps(self.data))
...
/usr/local/lib/python2.7/json/__init__.py in dumps
return _default_encoder.encode(obj)
...
/usr/local/lib/python2.7/json/encoder.py in encode
chunks = self.iterencode(o, _one_shot=True)
...
/usr/local/lib/python2.7/json/encoder.py in iterencode
return _iterencode(o, 0)
...
/usr/local/lib/python2.7/json/encoder.py in default
raise TypeError(repr(o) + " is not JSON serializable")
...
Есть идеи?
Спасибо,
Почему это отмеченный вниз, и голосовавшего за близкие? – felix001
Что такое 'self.data'? –
вопрос обновлен. – felix001