Так как Django 1.2.1 «prepopulated_fields» не будет предварительно заполнять в админке - PullRequest
2 голосов
/ 11 июля 2010

Поскольку Django 1.2.1 «prepopulated_fields» не будет предварительно заполняться в админ.

prepopulated_fields = {'slug': ('title',)}, похоже, не работает после загрузки на сервер Django 1.2.1 после разработки на 1.1.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)

Ответы [ 3 ]

3 голосов
/ 11 июля 2010

Это случилось со мной именно при обновлении с django 1.1.1 до 1.2.1. Это потому, что каталог media / admin изменился, раньше он был чем-то вроде этого: media / admin / js / admin, а теперь - admin / media / js / admin. Что я сделал, так это изменил настройки ADMIN_MEDIA_PREFIX = '/ media / admin /'

Чтобы быть уверенным, когда вы находитесь на своей странице администратора, та, которая не заполняет заранее, запустите firebug и проверьте, откуда эта страница пытается извлечь файлы js. Вы увидите, что существует несоответствие между этим местоположением и фактическим местоположением этих файлов js в Django 1.2.1.

0 голосов
/ 11 июля 2010

Я могу с уверенностью сказать, что prepopulated_fields по-прежнему работает, как указано в документации. Ваш код выглядит хорошо, но вот некоторые возможные проблемы, о которых я могу подумать:

  1. Javascript отключен и / или ваши медиа-ссылки администратора не работают.
  2. У вас есть опечатка где-то в именах ваших полей.
  3. В вашем браузере есть что-то, что мешает корректной работе JavaScript.
0 голосов
/ 11 июля 2010

Читали ли вы текущую документацию для prepulated_fields ?

Было бы полезно, если бы вы показали свой код, но вы просто поместили его под свой класс Admin, это довольно простая настройка.

...