I had the below code which was working perfectly in django 1.4, since I upgraded everything in the code remains functional accept for the signal is not being fired at all.
Previously, when I was on 1.4, I was using user Profile to maintain user information, but when upgraded I used custom user model which contains all details at one table. I don't think its relevant, because the when I test social auth its all working fine, accept for this part.
def twitter_extra_values(sender, user, response, details, **kwargs):
"""
accounts - twitter_extra_values - signal
"""
try:
TwitterExtra.objects.get_or_create(
user = user,
screen_name = response.get('screen_name')
)
except IntegrityError:
TwitterExtra.objects.get(
user = user,
screen_name = response.get('screen_name')
).delete()
# recursively attempt to recreate the record
twitter_extra_values(sender, user, response, details, **kwargs)
return True
pre_update.connect(twitter_extra_values, sender=TwitterBackend, dispatch_uid="accounts.twitter_extra_values")