আমি জ্যাংগো দিয়ে একটা রেজাল্টের অ্যাপ বানানোর চেষ্টা করছি। আমি সবচেয়ে ঝামেলায় পড়েছি ডেটাবেজ ডিজাইন নিয়ে। কিভাবে ডেটাবেজ গঠন করবো বুঝতে পারছি না। যেমন, একজন শিক্ষার্থীর অনেকগুলো বিষয়ে অনেকগুলো ভাগ থাকে। উদাহরণস্বরূপঃ যেকোনো একটা বিষয়ে সর্বমোট নম্বরঃ ১০০, সেখানে তত্ত্বীয় ৭০ নম্বর ও নৈর্ব্যক্তিক ৩০ নম্বর মিলে ১০০ নম্বর হয়। আবার কোন বিষয়ে সর্বমোট নম্বর ১০০ হলেও ব্যবহারিক ২৫ নম্বর ও নৈর্ব্যক্তিক ২৫ এবং তত্ত্বীয় ৫০ মিলিয়ে ১০০ নম্বর হয়। মানে আমি বুঝাতে চেয়েছি অনেক বিষয়ে নম্বরের ভিন্নতা রয়েছে। সবগুলো মিলিয়ে রেজাল্ট নির্ধারণ করা হয়। আমি ধারণা চাচ্ছি কিভাবে এই ডেটাবেজ ডিজাইন করা যায়। আমি বর্তমানে যেটা করেছি, সেখান মোট নন্বর ও পরিক্ষার্থীর নম্বর রাখা যায়। আমি আপাতত এইভাবে ডেটাবেজ (মডেল) লিখেছি ।

asked 27 Oct, 17:45

Asaduzzaman%20Sohel's gravatar image

Asaduzzaman Sohel
18610

edited 27 Oct, 18:31

Mosharraf%20Hosain's gravatar image

Mosharraf Hosain ♦
9618


Subject নামে একটা মডেল তৈরি করুন যেখানে সাবজেক্ট এর নাম সহ অন্যান্য তথ্য সংরক্ষন করবেন ।

Result নামে একটি মডেল তৈরি করুন । student নামে একটা ফরেন কি তৈরি করুন আপনার বর্তমান Student মডেল এর সাথে । subject ফরেন কি হবে Subject মডেল এর সাথে । এইবার একটা ফিল্ড থাকবে part বা result_part নামে যেখানে আপনি রেজাল্টের নানা অংশের নাম (written / mcq / practical) সেইভ করবেন আর number ফিল্ডে ঐ পার্টে প্রাপ্ত নাম্বার ।

অর্থাৎ একজন শিক্ষার্থীর রেজাল্ট জানতে আপনাকে তার রেজাল্ট ইন্সট্যান্স গুলোর সাম করলেই ঐ সাবজেক্টে টোটাল নাম্বার পাওয়া যাবে ।

আপনি চাইলে অংশগুলোর নাম (written / mcq / practical etc) ইচ্ছামত ইনপুট দিতে পারেন, অথবা অপশনগুলো মডেল এ হার্ডকোড করতে পারেন অথবা এইগুলো সংরক্ষন করার জন্য আরেকটা ResultType মডেল নিয়ে ফরেন কি করে দিতে পারেন যাতে অপশন গুলো ফ্লেক্সিবল থাকে ।

permanent link

answered 28 Oct, 03:27

masnun's gravatar image

masnun
20112

আমি সাবজেক্টগুলোর নাম বারবার ব্যবহার করতে চাই। মানে হল আমি সাবজেক্টগুলো বারবার লিখবো না। আগে বা পরে ডিফাইন করে দেব। কিন্তু শিক্ষার্থীদের নম্বর ইনপুট দেওয়ার সময় সকল সাবজেক্ট চলে আসবে এবং আমি অনেকগুলো সাবজেক্ট ইচ্ছামত পছন্দ করে নম্বর ইনপুট দেব।

(29 Oct, 06:55) Asaduzzaman Sohel
1

You have a foreign key to Subject model. So it will happen automatically in django admin. You will need to get the related items yourselves elsewhere.

(29 Oct, 09:22) masnun
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×70
×28
×13
×8
×3

question asked: 27 Oct, 17:45

question was seen: 118 times

last updated: 29 Oct, 17:48