Я обновляю приложение django от 1.4 до 1.8 и ударил небольшую проблему с администратором django.Django admin form и inlined model со значением по умолчанию
Мои модели выглядят как этот
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)
И admin.py является
class ApiKeyInline(admin.StackedInline):
model = ApiKey
extra = 0
class UserProfileAdmin(admin.ModelAdmin):
inlines = [ApiKeyInline]
admin.site.register(UserProfile, UserProfileAdmin)
При использовании администратор страницы апи ключ некорректной заполняется случайным значением. Однако при сохранении UserProfile он не сохраняется, как будто ничего не было добавлено. Если я вручную изменю один летер в автогенерированном ключе, то сработает правильно. Мне кажется, что это проблема с джанго, обнаруживающим изменение или что-то в этом роде.
Любые предложения? Код работал в 1.4.