Django admin form and inlined model with default value

I am updating a django app from 1.4 to 1.8 and have hit a small problem with django admin.

My models look like this

def new_key():
   return binascii.b2a_hex(os.urandom(20))

class ApiKey(models.Model):
  customer = models.ForeignKey(UserProfile)
  key = models.CharField(max_length=40, default=new_key)

And admin.py is

class ApiKeyInline(admin.StackedInline):
  model = ApiKey
  extra = 0

class UserProfileAdmin(admin.ModelAdmin):
  inlines = [ApiKeyInline]

admin.site.register(UserProfile, UserProfileAdmin)

When using admin page api key get correctly populated with a random value. However when saving the UserProfile it doesn’t get saved, it is as if nothing was added. If I manually change a a single leter in the autogenerated key saving works correctly. It seems to me this is a problem with django detecting a change or something like this.

Any suggestions? Code worked in 1.4.

Django admin form and inlined model with default value