objects
ম্যানেজারের create
ফাংশন কল করে ডাটা ক্রিয়েট করেছি, ফাংশনের ভেতর কিওয়ার্ড আর্গুমেন্ট হিসেবে ডাটাবেইজের কলামের নাম এবং ফিল্ড ভ্যালু (সেই কলামের ডাটা যেটা হবে) দিয়েছি। এখন আমাদের ডাটাবেইজের Message
টেবিলের text
কলামে তিনটা ফিল্ড/রো যুক্ত হয়েছে, তিনটা মেসেজ!Message.objects.all()
কল করি তাহলে এরকম দেখবঃObjects
এর all()
ফাংশনটি সকল আইটেম কুয়েরি করে বের করে। আমরা যদি নির্দিষ্ট কোন একটা আইটেম বের করতে চাই তাহলে get()
ফাংশন ব্যবহার করতে পারিঃtext
এট্রিবিউট বা কলাম রেখেছিলাম, কিন্তু জ্যাঙ্গো আমাদের জন্য ‘প্রাইমারি কি’ হিসেবে অতিরিক্ত আরেকটা এট্রিবিউট যোগ করে দিয়েছে id
নামে। এটা করার কারন হল আমরা কোন ফিল্ডকে প্রাইমারি কি হিসেবে সেট করিনি, কিন্তু জ্যাঙ্গো ওআরএম প্রতিটি মডেলের মধ্যেই একটা ‘প্রাইমারি কি’ আশা করে।যদিও অতিরিক্ত কলামটির নাম id তবে সেটাকে pk নামেও ডাকা যাবে। pk = Primary Key !
Message.objects.get(id=1)
লিখলে রিটার্ন আসবেঃ mytext = Message.objects.get(id=1) mytext.text “Hi there! How are you!” mytext.id 1 mytext.pk 1
Obojects
ম্যানেজারের আরেকটা বহুল ব্যবহৃত মেথড হল filter()
, অনেক সময়ই আমাদেরকে নির্দিষ্ট কোন কন্ডিশনের উপর ভিত্তি করে ডাটাবেইজের ডাটা রিড করতে হয়। ফিল্টার মেথড আমাদেরকে সেই কাজটি করতে সাহায্য করেঃMessage.objects.filter(id=1) ]>
Message.objects.filter(text__icontains=’you’) , ]>
Message.objects.all().count() 3
new_message = Message.obojects.create(text=’today is Friday’)
new_message
Message.objects.all().count() 4
new_message.text ’today is Friday’ new_message.id 4
new_message.text = ‘No, today is Sunday’) new_message.save()
new_message.text ‘No, today is Sunday’
new_message.delete() (1, {‘myapp.Message’: 1})
Message.objects.all().count() 3
মনে রাখবেনঃ জ্যাঙ্গো ওআরএম এ প্রতিটা মডেল হল ডাটাবেইজের একেকটা টেবিল, মডেলের ফিল্ডগুলো হল ডাটাবেইজের টেবিলের কলাম, মডেলের প্রতিটা ইন্সট্যান্স (মডেল থেকে তৈরি করা প্রতিটা অবজেক্ট) হল টেবিলের ফিল্ড বা ডাটা বা ‘রো’ !