Django - Erhöhen Sie die FileField-Länge

8

Ich versuche, eine Datei mit einem FileField zu speichern, aber der Pfad des Ziels der Datei ist größer als 100 Zeichen. Wie kann ich die Anzahl der erlaubten Charaktere erhöhen? Ich habe versucht mit max_length = 255 aber hat nicht funktioniert.

Danke.

Bearbeiten: Hinzugefügtes Modell

%Vor%     
Audoen 26.10.2014, 17:10
quelle

1 Antwort

20

Die Django-Dokumentation macht deutlich, dass das FileField ein optionales Argument benötigt, um die Länge der varchar-Spalte zu ändern, die zum Speichern der Dateireferenz (Dateiname) verwendet wird.

Entnommen aus der Django-Dokumentation :

  

FileField-Instanzen werden in Ihrer Datenbank als varchar-Spalten mit einer Standardlänge von maximal 100 Zeichen erstellt. Wie bei anderen Feldern können Sie die maximale Länge mit dem Argument max_length ändern.

Um diesen max_length-Parameter zu verwenden, fügen Sie den Parameter einfach in die Felddeklaration des Modells ein:

%Vor%

Die max_length des von Django bereitgestellten FileFields wird auf Datenbankebene erzwungen. Wenn Sie die Modelldefinition ändern, die auf Datenbankebene erzwungen werden muss, müssen Sie möglicherweise die syncdb oder eine Migration verwenden, um diese Änderung in der Datenbank zu bewirken. Das Ändern des Parameters max_length in Ihrer Modelldefinition hat keine Auswirkungen, es sei denn, Sie migrieren Ihre Datenbank, um diese Änderung ebenfalls zu berücksichtigen.

In diesem speziellen Fall muss die varchar-Spalte, die den Referenzdateinamen für die im FileField gespeicherte Datei darstellt, aktualisiert werden, um Dateinamen mit größerer Länge zu ermöglichen. Stellen Sie sicher, dass Sie die erforderliche Datenbankwartung durchgeführt haben, um sicherzustellen, dass die Felder Ihres Modells in Ihrer Datenbank korrekt dargestellt werden. Weitere Informationen zu Migrationen finden Sie hier .

    
MRHwick 27.10.2014, 02:59
quelle

Tags und Links