2014-10-26 22 views
8

Dosya FileField kullanarak dosya depolamaya çalışıyorum, ancak dosyanın hedefinin yolu 100 karakterden büyük. İzin verilen karakterlerin sayısını nasıl artırabilirim? Max_length = 255 ile çalıştım ama işe yaramadı.Django - FileField uzunluğunu artır

Teşekkürler.

Düzenleme: eklendi modeli

class File(models.Model): 
    Record = models.ForeignKey(Records) 
    Title = models.CharField(max_length=255, blank=False) 
    File = models.FileField(upload_to='files/Records', blank=False) 
    Upload_date = models.DateTimeField(auto_now_add=True) 

    def __unicode__(self): 
     return self.Title 
+0

Model kodunuzu gösteriniz –

cevap

20

Django belgeleri FileField dosya referansını (dosya adı) depolamak için kullanılan varchar sütunu uzunluğunu değiştirmek için, isteğe bağlı bir argüman alır açık hale getirir.

Taken from the Django documentation here:

FileField örnekleri 100 karakter varsayılan maksimum uzunluğu ile varchar sütunlar olarak veritabanında oluşturulur. Diğer alanlarla olduğu gibi, max_length argümanını kullanarak maksimum uzunluğu değiştirebilirsiniz. Django tarafından sağlanan FileField ait max_length veritabanına uygulanır

class File(models.Model): 
    Record = models.ForeignKey(Records) 
    Title = models.CharField(max_length=255, blank=False) 
    File = models.FileField(upload_to='files/Records', blank=False, max_length=500) 
    Upload_date = models.DateTimeField(auto_now_add=True) 

def __unicode__(self): 
    return self.Title 

: Bu max_length parametrenin kullanılabilmesi için, sadece bu yüzden gibi, modelin saha deklarasyon haline parametre eklemek yılında

seviyesi. Veritabanı düzeyinde zorlanması gereken model tanımında bir değişiklik yaptığınızda, veritabanındaki bu değişikliği etkilemek için syncdb veya geçişi kullanmanız gerektiğini fark edebilirsiniz. Daha sonra veritabanınızı bu değişikliği yansıtacak şekilde değiştirmediğiniz sürece, model tanımınızda max_length parametresini değiştirmenin hiçbir etkisi olmayacaktır. Bu özel durumda, FileField içinde saklanan dosyaya referans dosya adını temsil eden varchar sütunu, daha uzun uzunluklu dosya isimlerine izin verecek şekilde güncellenmelidir. Modelinizin alanlarının sadık bir şekilde veritabanınızda gösterildiğinden emin olmak için gerekli veritabanı bakımını yaptığınızdan emin olun. Geçişler hakkında daha fazla bilgi here bulunabilir.

+0

Bu garip. Daha önce max_length ile ispat ettim ama işe yaramadı. Şimdi mükemmel çalışıyor. Teşekkürler! – Audoen

İlgili konular