জ্যাঙ্গোতে 'সর্বোচ্চ_ দৈর্ঘ্যের' সর্বাধিক আকার কত?


87

এটি আমার মডেল:

class Position(models.Model):
    map = models.ForeignKey(Map,primary_key=True)
    #members=models.CharField(max_length=200)
    LatLng = models.CharField(max_length=40000)
    infowindow = models.CharField(max_length=40000)

তবে চলতে পারে না। max_lengthপ্যারামিটারের সর্বোচ্চ আকার কত ?

উত্তর:


106

এটি ডাটাবেস ব্যাকএন্ডের উপর নির্ভর করে। জ্যাঙ্গো ডিবি ডক্স আপনাকে বলতে হবে, যেmax_length=255 সবসময় কাজ করতে নিশ্চিত করা হয়।

আপনি পরিমাণ আপনি আপনার প্রশ্নের উল্লেখিত থাকেন কিছু প্রয়োজন হয়, তাহলে আমি ব্যবহার করতে প্রস্তাব করব পাঠ্যক্ষেত্র


4
এটির সাথে এই ঘটনাটি মিলিত হয়েছে যে ডিবিটির জন্য আমি এটি ব্যবহার করি অনন্য বিকল্পটি 255 এর মধ্যেও সীমাবদ্ধ করে রাখি, আমি ব্যক্তিগতভাবে মন্ত্রটিতে আটকে থাকি যে আমার যদি 255 এর চেয়ে বড় চরফিল্ডের প্রয়োজন হয় তবে আমি এটি একটি পাঠ্য ফিল্ড তৈরি করি।
ডিজিটালড্রেমার

13
টেক্সটফিল্ডের সর্বোচ্চ আকারটিও ডিবি নির্ভর। মাইএসকিউএলের জন্য এটি কোথাও প্রায় 4 ট্রিলিয়ন।
জাস্টিন আবরাহমস

4
মাইএসকিউএলএ চার্ফিল্ড একটি ভারচর, সর্বোচ্চ 65,535 (তবে এটি সর্বাধিক সারি আকারও), স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 13506832/… দেখুন । বৃহত্তর সর্বোচ্চ আকার ব্যবহার করার জন্য কোনও জরিমানা নেই, মাইএসকিউএল এটি যা প্রয়োজন তা ব্যবহার করবে। নোট করুন যে টেক্সটফিল্ডগুলি পারফরম্যান্সের সাথে জড়িত প্রভাবগুলির সাথে আলাদাভাবে পরিচালনা করা হয়, সুতরাং অন্য টেবিলের অন্যান্য ক্ষেত্রগুলির সাথে সূচীকরণ করা ভাল (ডিবি পৃষ্ঠায় আরও সূচিকৃত সারি আরও ভাল), আপনার প্রয়োজনীয় কী তা খুঁজে বার করুন, তারপরে সর্বাধিক পরিচিত কী দিয়ে টেক্সটফিল্ড পান।
আভিয়া লাওর

4
যদিও টেক্সটফিল্ড> 255 স্ট্রিংয়ের জন্য একটি উপযুক্ত পছন্দ, এটি max_lengthমডেল (বা ডাটাবেস) স্তরে প্রয়োগ করে না । এটি চারফিল্ডের ক্ষেত্রে অসদৃশ কিছু বৈধতার যুক্তিগুলিকে জটিল করে তুলতে পারে যা আপনাকে জাঙ্গো max_lengthপ্রয়োগ করে এমন একটি নির্দিষ্ট করতে দেয় ।
এলনিগ্রেন

4
লিঙ্কযুক্ত অনুচ্ছেদে বলা হয়েছে: "আপনি যদি ক্ষেত্রের জন্য অনন্য = সত্য ব্যবহার করে থাকেন তবে VARCHAR কলামের প্রকারের সাথে সঞ্চিত কোনও ক্ষেত্রের তাদের সর্বোচ্চ_ দৈর্ঘ্য 255 টি অক্ষরে সীমাবদ্ধ রয়েছে This এটি চারফিল্ড, স্লগফিল্ডকে প্রভাবিত করে।"
ক্রিস


1

এটি ব্যাকএন্ড ডাটাবেসের উপর নির্ভর করে। আপনি যদি মাইএসকিউএল 5.6 ব্যবহার করেন তবে 65,535 এর সীমা রয়েছে। আপনি যদি এটির উপরে ব্যবহার করে থাকেন তবে এটি 1024 এর জন্য অনুমতি দেয় তবে এর বাইরে নয়।

class Demo(models.Model):
    max_test = models.CharField(max_length=1024)

আমি মাইএসকিউএল ৫. on এ উপরে দৌড়েছি


4
এটি যদি কাজ করবে তবে গ্রহণযোগ্য উত্তরে ইতিমধ্যে উল্লিখিত হিসাবে ব্যবহৃত ডাটাবেস ব্যাকএন্ডের উপর নির্ভর করে। এটি কাজ করতে পারে এমন সময়, আরও ভাল সমাধান হ'ল টেক্সটফিল্ড ব্যবহার করা।
কলিডিয়ার

0

এটি মডেলটির জন্য আপনি যে ডাটাবেসটি ব্যবহার করেন তার উপর নির্ভর করে। পোস্টগ্র্যাসকিউএল, মাইএসকিউএল ইত্যাদির বিভিন্ন সেটিংস এবং সীমাবদ্ধতা রয়েছে।

আপনার যদি সত্যিই একটি দীর্ঘ স্ট্রিংয়ের প্রয়োজন হয় বা ভেরিয়েবলটি কত দীর্ঘ তা নিশ্চিত না হন, কেবল সাথে যেতে নিরাপদ variable=models.TextField()

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.