因为 Django 1.2.1 'prepopulated_fields' 不会在管理中预填充。
prepopulated_fields = {'slug': ('title',)} 在 1.1.1 上开发后上传到 Django 1.2.1 服务器后似乎不起作用。
发生了什么变化?
我读了http://code.djangoproject.com/wiki/NewformsAdminBranch#Changedprepopulate_fromtobedefinedintheAdminclassnotdatabasefieldclasses 但没有找到修复它的方法,我的代码看起来不错。
想法?代码:
class Data(models.Model):
title = models.CharField(max_length=50)
slug = models.SlugField(max_length=50, unique=True, help_text='Unique value for product page URL, created from name.')
class DataAdmin(admin.ModelAdmin):
list_display = ('title', 'user', 'category')
list_filter = ('user', 'category')
ordering = ('title',)
search_fields = ('title',)
prepopulated_fields = {'slug': ('title',)}
admin.site.register(Data, DataAdmin)
请您参考如下方法:
当我从 django 1.1.1 升级到 1.2.1 时,它恰好发生在我身上。这是因为 media/admin 目录变了,之前是 media/admin/js/admin,现在是:admin/media/js/admin。 我所做的是更改设置 ADMIN_MEDIA_PREFIX = '/media/admin/'
为确保您在管理页面时,即未预填充的页面,请运行 firebug 并检查该页面从何处尝试获取 js 文件。您将看到该位置与 Django 1.2.1 中那些 js 文件的实际位置之间存在差异。
