2010-07-11 3 views
2

Depuis Django 1.2.1 'prepopulated_fields' ne préremplira pas dans l'admin.Depuis Django 1.2.1 'prepopulated_fields' ne préremplira pas dans l'admin

prepopulated_fields = {'slug': ('title',)} ne semble pas fonctionner depuis le téléchargement vers un serveur Django 1.2.1 après avoir développé un 1.1.1.

Qu'est-ce qui a changé? J'ai lu http://code.djangoproject.com/wiki/NewformsAdminBranch#Changedprepopulate_fromtobedefinedintheAdminclassnotdatabasefieldclasses mais je n'ai pas trouvé un moyen de le réparer, mon code semble bon.

Des idées? Code:

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) 

Répondre

3

Il m'est arrivé exactement lors de la mise à niveau de django 1.1.1 à 1.2.1. C'est parce que le répertoire media/admin a changé, avant que ce soit quelque chose comme ça: media/admin/js/admin et maintenant: admin/media/js/admin. Ce que j'ai fait était de changer dans les paramètres ADMIN_MEDIA_PREFIX = '/ media/admin /'

Pour être sûr que vous êtes dans votre page d'administration, celle qui ne préremplit pas, lancez firebug et vérifiez d'où cette page essaie pour récupérer les fichiers js. Vous verrez qu'il y a un décalage entre cet emplacement et l'emplacement réel de ces fichiers js dans Django 1.2.1.

+0

OK, donc cela a été résolu! C'était un problème côté serveur. La compagnie de serveur a quelques versions différentes de Django disponibles et l'installation que j'utilisait manquait les bons fichiers .js. – pythondjango

+0

Merci beaucoup! +1! –

0

Avez-vous lu la documentation actuelle pour prepulated_fields?

Il serait utile si vous avez montré votre code, mais vous le placez juste sous votre classe d'administration, c'est une installation assez simple.

+0

Rien de nouveau là-bas, mais comme je l'ai dit, il fonctionne sur 1.1.1 pas 1.2.1. Aussi ajouté le code par votre demande, merci. – pythondjango

+0

Je suggère de voir la réponse de Gabriel ... ça doit être ça, sauf si vous utilisez le coffre et que la fonction était cassée sur quelques révisions. – Bartek

0

Je peux dire avec certitude que prepopulated_fields fonctionne toujours comme indiqué dans les docs. Votre code semble bon, mais voici quelques problèmes possibles que je peux penser à:

  1. Javascript est désactivé et/ou vos liens de médias d'admin sont cassés.
  2. Vous avez une faute de frappe quelque part dans les noms de vos champs.
  3. Vous avez mis en cache dans votre navigateur des éléments qui empêchent le bon fonctionnement du javascript.
+0

3 navigateurs différents, actualisations complètes, caches effacés. J'ai regardé ce code pendant des heures et je ne trouve rien. Aussi tout dans l'admin semble bon, pas de liens/images morts. – pythondjango

Questions connexes