【发布时间】:2015-10-20 17:17:07
【问题描述】:
我正在将一个 django 应用程序从 1.4 更新到 1.8,并且遇到了 django admin 的一个小问题。
我的模型是这样的
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)
当使用管理页面 api 键时,会正确填充随机值。但是,当保存 UserProfile 时,它不会被保存,就好像什么都没有添加一样。如果我在自动生成的密钥保存中手动更改一个字母,则可以正常工作。在我看来,这是 django 检测到更改或类似情况的问题。
有什么建议吗?代码在 1.4 中工作。
【问题讨论】:
标签: django django-admin