[Django] Dateien + Bilder speichern
Verfasst: Montag 8. Oktober 2012, 15:35
Hallo,
ich möchte in einer mysql Datenbank Bilder und Dokumente speichern (Datentyp: longblob). Die Datenbank besteht bereits, um die Erstellung muss ich mir also keine Sorgen machen.
Hier meine Models:
Man soll ja für blobs TextField im Model auswählen allerdings weiß ich nicht ob die für 100MB reichen außerdem will ich sie auch im admin anzeigen.
Gruß
Lasse
ich möchte in einer mysql Datenbank Bilder und Dokumente speichern (Datentyp: longblob). Die Datenbank besteht bereits, um die Erstellung muss ich mir also keine Sorgen machen.
Hier meine Models:
Code: Alles auswählen
class Image(models.Model): #11
"""Diese Tabelle enthaelt die Bilder fuer Artikel. Fuer jeden
Artikel koennen mehrere Bilder in gleichen und verschiedenen
Groessen gespeichert werden.
"""
class Meta:
db_table = 'Image'
verbose_name = 'Bild'
verbose_name_plural = 'Bilder'
ID = UUIDField(primary_key=True, version=4)
ArticleVariant = models.ForeignKey(ArticleVariant)
Description = models.CharField(max_length=50)
Attachment = models.ImageField()
OriginalFileName = models.CharField(max_length=50)
AttachmentSource = models.ForeignKey(AttachmentSource)
ImageType = models.ForeignKey(ImageType) #wird automatisch aus Dateiendung abgeleitet
Width = models.IntegerField() #wird automatisch bestimmt
Height = models.IntegerField() #wird automatisch bestimmt
Thumbnail = models.ImageField() #wird automatisch generiert
Year = models.IntegerField() #wird aus dem Dateinamen abgeleitet
public = models.BooleanField()
editor = models.ForeignKey(User)
timestamp = models.DateTimeField()
def __unicode__(self):
return self.OriginalFileName
class Document(models.Model): #12
"""Diese Tabelle kann je Artikelvariante mehrere Dokumente aufnehmen."""
class Meta:
db_table = 'Document'
verbose_name = 'Dokument'
verbose_name_plural = 'Dokumente'
ArticleVariant = models.ForeignKey(ArticleVariant)
Description = models.TextField(editable=False) #Automatisch abgeleitet aus Dateiname
Attachment = models.FileField()
OriginalFileName = models.CharField(max_length=50, editable=False)
AttachmentSource = models.ForeignKey(AttachmentSource)
DocumentType = models.ForeignKey(DocumentType, editable=False) #wird automatisch aus der Dateiendung abgeleitet
Year = models.IntegerField() #wird automatisch aus dem Dateinamen gebildet
public = models.BooleanField()
editor = models.ForeignKey(User)
timestamp = models.DateTimeField()
def __unicode__(self):
return self.OriginalFileName
Gruß
Lasse