2010-12-03 9 views
5
file = models.FileField(upload_to=settings.FILE_PATH) 

Zum Hochladen einer Datei in Django-Modelle habe ich die obige Zeile verwendet. Aber zum Hochladen mehrerer Dateien über das Admin-Modell von django, was soll ich tun? Ich fand this Aber das ist für Formulare. Kann ich das für Modelle verwenden?So laden Sie mehrere Dateien in django Admin-Modelle

Antwort

4

Wenn Sie mehrere Dateien für das gleiche Feld haben möchten, müssten Sie ein eigenes Feld und ein Widget basierend auf dem gefundenen Formularfeld erstellen, andernfalls haben Sie ein separates Modell für eine Datei mit einem Fremdschlüssel zu Ihrem Hauptmodell Modellinline.

models.py

class Page(models.Model): 
    title = models.CharField(max_length=255) 

class PageFile(models.Model): 
    file = models.ImageField(upload_to=settings.FILE_PATH) 
    page = models.ForeignKey('Page') 

admin.py

class PageFileInline(admin.TabularInline): 
     model = PageFile 

class PageAdmin(admin.ModelAdmin): 
     inlines = [PageFileInline,] 
+0

Feld 'Datei' hat keinen Standardwert. Das ist der Fehler, den ich bekomme. – user12345

+1

file = models.ImageField (upload_to = einstellungen.FILE_PATH, leer = Wahr, null = Wahr) oder nach vollständiger Rückverfolgung – sunn0

+0

Ich habe die betreffende Rückverfolgung hinzugefügt. – user12345

Verwandte Themen