ফসল-Vocab একটি হার্ভেস্ট স্ট্যাক অ্যাপ্লিকেশন শব্দভান্ডার মত মডেলের সংজ্ঞা এবং হায়ারারকিকাল স্ব-সম্পর্কিত তথ্য জন্য সংশ্লিষ্ট সূচক নির্মাণের জন্য বিমূর্ত মডেল উপলব্ধ করা হয়.
উদাহরণস্বরূপ, এই আপনি ICD9, কোড জমা করার জন্য মডেল সংজ্ঞায়িত করতে পারে কিভাবে:
vocab.models থেকে আমদানি AbstractItem, AbstractItemIndex
বর্গ নির্ণয় (AbstractItem):
& Nbsp; বর্ণনা = models.CharField (MAX_LENGTH = 50)
& Nbsp; কোড = models.CharField (MAX_LENGTH = 10)
& Nbsp; পিতা বা মাতা = models.ForeignKey ('স্বয়ং', related_name = 'শিশু')
ICD9, কোড, তাহলে এই শুধুমাত্র প্রশ্ন 367, কিন্তু সব descendent নির্ণয়ের হিসাবে ভাল (যা অন্তর্ভুক্ত না করা উচিত hierachical আমি প্রশ্ন জিজ্ঞাসা অতএব, যখন "367 (প্রতিসরণ এবং বাসস্থানের ডিসঅর্ডারস) ICD9, একটি নির্ণয়ের আছে যারা আমাকে দিন সব রোগীদের" হয় অন্য 2 মাত্রা).
আপনি শুধুমাত্র একটি নির্দিষ্ট রোগ নির্ণয়ের সরাসরি পিতা বা মাতা এক্সেস আছে এইভাবে প্রশ্ন ভালো দেখাবে থেকে প্রশ্ন এই ধরনের লেখা কঠিন হয়ে যায়.
django.db.models আমদানি প্রশ্ন থেকে
Diagnosis.objects.filter (প্রশ্ন (কোড = '367') | প্রশ্ন (parent__code = '367'))
এখানে সুস্পষ্ট সমস্যা '367' থেকে কোন নির্ণয়ের 2 + মাত্রা অন্তর্ভুক্ত না করা হয়.
একটি ফ্লাট সূচক তৈরি করুন
এই সমস্যা উপশম করার জন্য, একটি AbstractItemIndex উপশ্রেণী একটি AbstractItem উপশ্রেণী জন্য একটি ফ্ল্যাট সূচক নির্মাণ করা হবে যা সংজ্ঞায়িত করা যেতে পারে. শুধু এই মত এটি সংজ্ঞায়িত:
বর্গ DiagnosisIndex (AbstractItemIndex):
& Nbsp; আইটেমটি = models.ForeignKey (রোগ নির্ণয়, related_name = 'item_indexes')
& Nbsp; পিতা বা মাতা = models.ForeignKey (রোগ নির্ণয়, related_name = 'parent_indexes')
# নির্ণয় জন্য সূচক তৈরী করে
DiagnosisIndex.objects.index ()
শেষ লাইন অজানা গভীরতা সমস্যা alleviates যা অনুক্রমের একটি ফ্ল্যাট সূচক তৈরি করে. সুতরাং এখন, উপরে বর্ণিত একই প্রশ্ন এই ভাবে উত্তর দেওয়া যেতে পারে:
# আইটেমটি হয় এই কোড বা এটি এর বাবা এক এই কোড আছে আছে
শর্ত = প্রশ্ন (item__code = '367') | প্রশ্ন (parent__code = '367')
item_ids = DiagnosisIndex.objects.filter (শর্ত) .values_list ('item__id', সমতল = সত্য)
নির্ণয়ের = Diagnosis.objects.filter(id__in=item_ids)
Requirements:
- Python
পাওয়া মন্তব্যসমূহ না