Mohssen A Mohssen نشر 25 يونيو 2022 أرسل تقرير نشر 25 يونيو 2022 لدي نموذجين Models مرتبطيت معًا على النحو التالي: def Foo(Models.model): # ... def is_active(self): return True def Bar(Models.model): foo = models.ForeignKey("Foo") # ... الآن عندما أحاول أن أقوم بعمل إستعلام query بإستخدام التابع filter بالشكل التالي: Bar.objects.filter(foo.is_active()) يظهر لي هذا الخطأ: SyntaxError at ('non-keyword arg after keyword arg') لم أفهم سبب الخطأ هنا، ويبدو الكود سليم بدون مشكلة، ما سبب الخطأ هنا؟ وكيف أقوم بإصلاحه؟ 1 اقتباس
1 Haroun Taha نشر 25 يونيو 2022 أرسل تقرير نشر 25 يونيو 2022 (معدل) دالة filter لا تقبل ان تمرر لها دالة كدالة ()is_active فالحالة التي لديك الافضل إنشاء حقل BooleanField في model Foo وقم بإعطائه default True هكذا: class Foo(models.Model): is_active = models.BooleanField(default=True) ومن ثم لإرجاع الكائنات من Foo التي لديهم القيمة is_active = True نستعمل بدالة filter من Bar لفحص الكائنات المُرادة بتحديد قيمتها True هكذا: Bar.objects.filter(foo__is_active=True) هكذا سيرجع لك الكائنات من model ال Foo التي قيمة is_active = True . تم التعديل في 25 يونيو 2022 بواسطة Haroun Taha 1 اقتباس
السؤال
Mohssen A Mohssen
لدي نموذجين Models مرتبطيت معًا على النحو التالي:
الآن عندما أحاول أن أقوم بعمل إستعلام query بإستخدام التابع filter بالشكل التالي:
يظهر لي هذا الخطأ:
لم أفهم سبب الخطأ هنا، ويبدو الكود سليم بدون مشكلة، ما سبب الخطأ هنا؟ وكيف أقوم بإصلاحه؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.