Django মডেলে ডেটা সংরক্ষণের জন্য বিভিন্ন ধরনের ফিল্ড টাইপ ব্যবহার করা হয়। প্রতিটি ফিল্ড টাইপ বিভিন্ন ধরনের ডেটা সংরক্ষণ করার জন্য উপযুক্ত এবং তাদের আলাদা বৈশিষ্ট্য থাকে। এখানে আমরা সাধারণ কিছু Django মডেল ফিল্ডের টাইপ এবং তাদের ব্যবহারের বিস্তারিত আলোচনা করব।
Django মডেল ফিল্ড টাইপস
১. CharField (চিহ্ন ক্ষেত্র)
CharField সাধারণত ছোট আকারের টেক্সট সংরক্ষণ করতে ব্যবহৃত হয়, যেমন নাম, শিরোনাম, ইত্যাদি।
- ব্যবহার: সাধারণভাবে, এই ফিল্ডটি একটি স্ট্রিং ধরনের ডেটা ধারণ করে এবং
max_lengthআর্গুমেন্টের মাধ্যমে এর সর্বোচ্চ দৈর্ঘ্য নির্ধারণ করা হয়।
title = models.CharField(max_length=200)
- এখানে,
titleফিল্ডটি ২০০ ক্যারেক্টারের মধ্যে একটি স্ট্রিং ধারণ করবে।
২. IntegerField (পূর্ণসংখ্যা ক্ষেত্র)
IntegerField ফিল্ডটি পূর্ণসংখ্যা (integer) ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। যেমন, কাউন্ট, পরিমাণ ইত্যাদি।
- ব্যবহার: এটি সাধারণত ইনটিজার ডেটা ধারণ করে, যা গাণিতিক হিসাবের জন্য ব্যবহৃত হতে পারে।
age = models.IntegerField()
- এখানে,
ageফিল্ডটি একটি পূর্ণসংখ্যা ধারণ করবে।
৩. FloatField (ফ্লোটিং পয়েন্ট সংখ্যা ক্ষেত্র)
FloatField ফিল্ডটি দশমিক সংখ্যার জন্য ব্যবহৃত হয়, যেমন প্রাইস, রেটিং, ইত্যাদি।
- ব্যবহার: এটি দশমিক সংখ্যা সংরক্ষণ করে এবং ডেটার মধ্যে দশমিক শূন্য থাকতে পারে।
price = models.FloatField()
- এখানে,
priceফিল্ডটি একটি দশমিক সংখ্যা ধারণ করবে।
৪. BooleanField (বুলিয়ান ক্ষেত্র)
BooleanField ফিল্ডটি শুধুমাত্র দুটি মান গ্রহণ করতে পারে: True অথবা False।
- ব্যবহার: এটি সাধারণত কোনো বিকল্পের জন্য, যেমন "প্রকাশিত" বা "অ্যাক্টিভ" ক্ষেত্রের জন্য ব্যবহৃত হয়।
is_active = models.BooleanField(default=True)
- এখানে,
is_activeফিল্ডটিTrueঅথবাFalseমান ধারণ করবে।
৫. DateField (তারিখ ক্ষেত্র)
DateField ফিল্ডটি তারিখ সংরক্ষণ করার জন্য ব্যবহৃত হয়। এটি সাধারণভাবে একটি নির্দিষ্ট দিন (দিন, মাস, বছর) সংরক্ষণ করে।
- ব্যবহার: এটি সাধারনত জন্মতারিখ, রেজিস্ট্রেশন তারিখ ইত্যাদি সংরক্ষণে ব্যবহৃত হয়।
birth_date = models.DateField()
- এখানে,
birth_dateফিল্ডটি একটি নির্দিষ্ট তারিখ (যেমন: 2024-12-05) ধারণ করবে।
৬. DateTimeField (তারিখ ও সময় ক্ষেত্র)
DateTimeField ফিল্ডটি তারিখ এবং সময় সংরক্ষণ করার জন্য ব্যবহৃত হয়। এটি তারিখ এবং সময় উভয় একসাথে সংরক্ষণ করে।
- ব্যবহার: এটি সাধারনত কোনো ইভেন্ট বা অ্যাকশন ঘটানোর তারিখ এবং সময়ের জন্য ব্যবহৃত হয়।
created_at = models.DateTimeField(auto_now_add=True)
- এখানে,
created_atফিল্ডটি বর্তমান তারিখ ও সময় স্বয়ংক্রিয়ভাবে সংরক্ষণ করবে যখন একটি নতুন রেকর্ড তৈরি হবে।
৭. TextField (টেক্সট ক্ষেত্র)
TextField ফিল্ডটি বড় আকারের টেক্সট সংরক্ষণের জন্য ব্যবহৃত হয়, যেমন ব্লগ পোস্টের কনটেন্ট, মন্তব্য, ইত্যাদি।
- ব্যবহার: এটি সাধারণত বড় বা বহু শব্দের ডেটা ধারণ করার জন্য ব্যবহৃত হয়।
content = models.TextField()
- এখানে,
contentফিল্ডটি কোনো সীমাবদ্ধতা ছাড়াই বড় আকারের টেক্সট ধারণ করতে পারে।
৮. EmailField (ইমেইল ক্ষেত্র)
EmailField ফিল্ডটি ইমেইল ঠিকানা সংরক্ষণ করার জন্য ব্যবহৃত হয় এবং এটি ইমেইল ঠিকানার ফরম্যাট যাচাই করে।
- ব্যবহার: এটি ইমেইল ঠিকানা ধারণ করে এবং ডেটা সঠিক ফরম্যাটে থাকতে হবে।
email = models.EmailField()
- এখানে,
emailফিল্ডটি ইমেইল ঠিকানা ধারণ করবে, যেমনuser@example.com।
৯. URLField (ইউআরএল ক্ষেত্র)
URLField ফিল্ডটি একটি ইউআরএল (Uniform Resource Locator) সংরক্ষণ করার জন্য ব্যবহৃত হয়।
- ব্যবহার: এটি সাধারনত ওয়েবসাইট বা পেজের লিঙ্ক সংরক্ষণের জন্য ব্যবহৃত হয়।
website = models.URLField()
- এখানে,
websiteফিল্ডটি একটি ইউআরএল ধারণ করবে, যেমনhttps://www.example.com।
১০. ForeignKey (বিদেশী কী)
ForeignKey ফিল্ডটি দুটি মডেলের মধ্যে একাধিক সম্পর্ক তৈরি করার জন্য ব্যবহৃত হয়। এটি একটি সম্পর্কিত মডেলকে ইঙ্গিত করে এবং একাধিক রেকর্ডের সাথে সম্পর্ক স্থাপন করতে সাহায্য করে।
- ব্যবহার: এটি সাধারণত একাধিক মডেলের মধ্যে রিলেশন (relationship) তৈরির জন্য ব্যবহৃত হয়।
author = models.ForeignKey(Author, on_delete=models.CASCADE)
- এখানে,
authorফিল্ডটি অন্য একটি মডেলAuthorএর রেকর্ডের সাথে সম্পর্কিত থাকবে।
সারাংশ
Django মডেলে বিভিন্ন ধরনের ফিল্ড টাইপ থাকে, যেমন CharField, IntegerField, BooleanField, DateField, ForeignKey, ইত্যাদি। প্রতিটি ফিল্ড টাইপ আলাদা ধরনের ডেটা ধারণ করতে ব্যবহৃত হয়, এবং ডেটার ধরন অনুসারে সঠিক ফিল্ড টাইপ নির্বাচন করা জরুরি। Django আপনাকে এর মাধ্যমে শক্তিশালী এবং নমনীয় ডেটাবেস মডেল তৈরি করতে সাহায্য করে, যা আপনার অ্যাপ্লিকেশনটির কার্যকারিতা এবং কর্মক্ষমতা উন্নত করে।
Read more