Mohssen A Mohssen نشر 11 فبراير 2022 أرسل تقرير نشر 11 فبراير 2022 لدي نموذج Model في جانغو Django باسم ويحتوي على التابع has_related_object والذي يقوم بالتحقق من وجود كائنات مرتبطة بهذا النموذج: class Store(base): name = models.CharField(max_length=255, blank=False, null=False) def has_related_object(self): return (self.seller is not None) and (self.products is not None) class Seller(base): name = models.CharField(max_length=255, blank=False, null=False) store = models.OneToOneField('Store', related_name="seller") ولكن المشكلة هنا هي ظهور الخطأ RelatedObjectDoesNotExist عندما أستدعي هذا التابع، بالشكل التالي: RelatedObjectDoesNotExist: Store has no seller. ما سبب هذا الخطأ؟ وكيف أقوم بإصلاحه؟ 1 اقتباس
1 مسعود زاهي نشر 11 فبراير 2022 أرسل تقرير نشر 11 فبراير 2022 هذا بسبب أن ال ORM يقوم بالتحقق من وجود الكائن seller والكائن products في قاعدة البيانات، في حالة عدم وجود أحد منهم جانغو يقوم بالتنبيه بهذا الخطأ RelatedObjectDoesNotExist. لتجنب هذا الخطأ يجب تغيير الدالة has_related_object إلى ما يلي: def has_related_object(self): if hasattr(self, "seller") and hasattr(self, "products"): return (self.seller is not None) and (self.products is not None) return False الدالة hasattr تقوم بالتحقق من وجود الرابط بين الكائن من الصنف store مع الكائن seller ومع الكائن products. كما يمكننا أيضا إستخدام try .. catch لتفادي الخطأ قبل وُقوعه def has_related_object(self): try: return (self.seller is not None) and (self.products is not None) catch RelatedObjectDoesNotExist as e: pass return False 1 اقتباس
السؤال
Mohssen A Mohssen
لدي نموذج Model في جانغو Django باسم ويحتوي على التابع has_related_object والذي يقوم بالتحقق من وجود كائنات مرتبطة بهذا النموذج:
ولكن المشكلة هنا هي ظهور الخطأ RelatedObjectDoesNotExist عندما أستدعي هذا التابع، بالشكل التالي:
ما سبب هذا الخطأ؟ وكيف أقوم بإصلاحه؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.