Django प्रलेखन यह स्पष्ट है कि FileField varchar फ़ाइल संदर्भ (फ़ाइल का नाम) स्टोर करने के लिए इस्तेमाल किया स्तंभ की लंबाई को बदलने के लिए एक वैकल्पिक तर्क लेता बनाता है।
Taken from the Django documentation here:
FileField उदाहरणों 100 अक्षरों का एक डिफ़ॉल्ट अधिकतम लंबाई के साथ varchar स्तंभ के रूप में अपने डेटाबेस में बनाया जाता है। अन्य क्षेत्रों के साथ, आप max_length तर्क का उपयोग कर अधिकतम लंबाई बदल सकते हैं।
आदेश में इस MAX_LENGTH पैरामीटर का उपयोग करने के लिए, आप बस पैरामीटर मॉडल के क्षेत्र घोषणा में है, इसलिए की तरह जोड़ने में:
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
FileField के MAX_LENGTH Django द्वारा प्रदान डेटाबेस पर लागू की जाती है स्तर। जब आप मॉडल परिभाषा में परिवर्तन करते हैं जिसे डेटाबेस स्तर पर लागू किया जाना चाहिए, तो आप डेटाबेस में इस परिवर्तन को प्रभावित करने के लिए सिंकडीबी या माइग्रेशन का उपयोग कर सकते हैं। बस अपनी मॉडल परिभाषा में max_length पैरामीटर को बदलने से कोई प्रभाव नहीं पड़ेगा, जब तक कि आप इस परिवर्तन को प्रतिबिंबित करने के लिए अपने डेटाबेस को माइग्रेट न करें।
इस विशेष मामले में, वर्चर कॉलम जो फ़ाइल फ़ाइल में संग्रहीत फ़ाइल में संदर्भ फ़ाइल नाम का प्रतिनिधित्व करता है उसे अधिक लंबाई के फ़ाइल नामों को अनुमति देने के लिए अद्यतन किया जाना चाहिए। कृपया सुनिश्चित करें कि आपने यह सुनिश्चित करने के लिए आवश्यक डेटाबेस रखरखाव किया है कि आपके मॉडल के फ़ील्ड विश्वसनीय रूप से आपके डेटाबेस में प्रदर्शित हों। माइग्रेशन के बारे में अधिक जानकारी here मिल सकती है।
अपना मॉडल कोड दिखाएं –