, поэтому я пытаюсь сохранить модель django, и по какой-то причине я получаю только 500 внутренних ошибок сервера. дело в том,Модель Django не сохраняется при вызове save()
если я комментировать social_auth.save() она работает, и я могу манипулировать объект, но не сохранить его
почему это происходит? Я использую django tastypie, и я пытаюсь сохранить экземпляр django-social-auth.
def obj_create(self, bundle, request=None, **kwargs):
try:
#this is not supposed to upgrade password
bundle = super(UserResource, self).obj_create(bundle)
bundle.obj.save()
if bundle.data.get('extra_data') != None:
print bundle.data.get('extra_data')
fb_id = bundle.data.get('extra_data')['id']
#social_auth=UserSocialAuth(user_id = bundle.obj, provider=bundle.data.get('provider'),uid=fb_id,extra_data=bundle.data.get('extra_data'))
social_auth=UserSocialAuth()
social_auth.user_id = bundle.obj
social_auth.provider=bundle.data.get('provider')
social_auth.uid=fb_id
social_auth.extra_data=bundle.data.get('extra_data')
print "social: ",social_auth.extra_data
social_auth.save()
except IntegrityError:
raise BadRequest('Username already exists')
return bundle
отслеживающий:
Traceback (most recent call last):
File "temp_3.py", line 23, in <module>
post()
File "temp_3.py", line 18, in post
f = urllib2.urlopen(req)
File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 406, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 519, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 444, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 527, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 500: INTERNAL SERVER ERROR
Что делает Скажите, скажите? – karthikr
ничего, но я просто добавил трассировку выше – psychok7
, если bundle.obj имеет тип 'User', тогда' social_auth.user_id = bundle.obj' ошибочен и должен быть 'social_auth.user = bundle.obj' –