Friday 15 February 2013

python - Changing lookup parameters for Django object query -


मेरे Django प्रोजेक्ट में दो मॉडल हैं

  class ContractPlans (models.Model) : cp_id = models.CharField (primary_key = सच, db_column = "ContractPlanId", MAX_LENGTH = 100 एल) parentorg = models.ForeignKey ( "Parentorgs") contractnum = models.ForeignKey ( "संविदा", db_column = "contractNum") plan_id = मॉडल .CharField (MAX_LENGTH = 100 एल, db_column = "PlanID") eff_date = models.DateField () exp_date = models.DateField (शून्य = सच, खाली = सच) planname = models.CharField (MAX_LENGTH = 100 एल, db_column = 'planName') वर्ग ContractPlanTags (models.Model): contract_plan_id = models.IntegerField (primary_key = सच, db_column = "table_id") parentorg = models.ForeignKey ( "Parentorgs", db_column = "parentorg_id") contractnum = models.ForeignKey ( "संविदा", db_column = "ContractNum") planid = models.ForeignKey ( "ContractPlans", db_column = "PlanId") tag_id = models.IntegerField () tag_value_id = models.ForeignKey ( "टैग", db_column = "tag_value_id ") Eff_date = models.DateField () exp_date = models.DateField (शून्य = सच, खाली = सच)   

मैं एक prefetch_related को क्रियान्वित कर रहा हूँ () क्वेरी ContractPlanTags द्वारा पर

  lst = ContractPlanTags.objects.prefetch_related ()। (parentorg = request.REQUEST [ "parentorg"])   

मेरा मुद्दा ये है कि Django एक त्रुटि फेंक रहा है

  DoesNotExist: ContractPlans मिलान क्वेरी मौजूद नहीं है लुकअप पैरामीटर {'cp_id__exact' थे: u'805 '}   

मुझे क्या करना है ContractPlans.plan_id और के साथ जुड़े मूल्य को खींचें I

मैं इस त्रुटि को कैसे हल कर सकता हूँ?

जब आप विदेशी कुंजी पर फ़िल्टर करते हैं, तो आपको उस विदेशी मॉडल के ऑब्जेक्ट को पास करना होगा:

  parent_org = Get_object_or_404 (पेरेंटॉर्ग, पीके = अनुरोध। REQUEST ["पैरेंटगर्ज"]) lst = ContractPlanTags.objects.prefetch_related ()। फ़िल्टर (parentorg = parent_org)    

No comments:

Post a Comment