2016-03-25 8 views
1

zu erstellen versuchen, habe ich ein Plugin mit einem Feld in Modellen:‚Ordner‘ Objekt hat kein Attribut ‚get_deferred_fields‘, wenn Ordner in django-cms-Filer

picture = FilerImageField(related_name="gallery_image") 

Jetzt, wenn ich versuche, das Plugin in dem ein Platzhalter, Fenster öffnet sich, wenn ich ein Bild hinzufügen kann. Also klicke ich auf "Datei hinzufügen" und die neue Seite öffnet sich mit einer Liste hochgeladener Dateien (momentan leer). Auf dieser Seite klicken I Katalog erstellen, geben Sie seinen Namen, und wenn ich den Fehler zeigt speichern klicken Sie auf:

AttributeError at /pl/admin/filer/folder/make_folder/ 
'Folder' object has no attribute 'get_deferred_fields' 

Django 1.7.9 Vielen Dank für jede Hilfe

Antwort

2

Ich hatte dieses Problem, wo es in meiner Testumgebung nicht funktionierte und es funktionierte richtig auf meiner lokalen Umgebung.

Ein paar Dinge, die nicht synchron waren. Einer von ihnen war der Django-Mptt. In meinem Test war es 0.8.7 und in meinem lokalen hatte ich es als 0.6.1. Um es zu testen, habe ich mein lokales Update aktualisiert, welches mein Django auf 1.9 aktualisiert, was alles kaputt gemacht hat. Also habe ich Django auf 1.7.9 und mpt auf 0.6.1 zurückgesetzt. Außerdem habe ich mein Pillow zu 3.1.1 aktualisiert.

Also im Grunde ist es eine Kombination, wenn Sie den Stecker installieren und sicherstellen, dass Ihre Anforderungsdatei die richtigen Versionen hat.

0

ich den gleichen Fehler bekam, wenn d mit die Bibliothek django-mptt. Dann habe ich von django 1.7.11 auf 1.8.11 aufgerüstet und funktionierte sehr gut.

+0

Ich denke, es ist nicht Django. Ich habe ein Upgrade von 1.7.9 auf 1.9 durchgeführt, und der Fehler ist weiterhin vorhanden. – Martinez

3

Attribute at/pl/admin/filer/Ordner/make_folder/ 'Ordner' Objekt hat nicht Attribut 'get_deferred_fields'

Der Grund dafür ist, eine Nichtübereinstimmung zwischen Django 1.7 und dem django- mpt Version. Django 1.8 eingeführt , und Django-MPT-0.8.0 fiel Unterstützung für Django < 1.8.

Wenn Sie Django < 1.8 ausführen, ist die letzte unterstützte Version für django-mptt 0.7.4.

pip install django-mptt==0.7.4 

Achtung: Da Django 1.7 ist offiziell nicht mehr unterstützt, die sicherste Option ist natürlich zu Django 1.8 (LTS) zu aktualisieren.