اذهب إلى المحتوى
  • 0

خطأ non-keyword arg after keyword arg عند إستعمال التابع filter في جانغو Django؟

Mohssen A Mohssen

السؤال

لدي نموذجين 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')

لم أفهم سبب الخطأ هنا، ويبدو الكود سليم بدون مشكلة، ما سبب الخطأ هنا؟ وكيف أقوم بإصلاحه؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

دالة 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 .

تم التعديل في بواسطة Haroun Taha
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...