كيف يمكنني الحصول على جميع الكائنات في نموذج Django له قيمة محددة لحقل أمين الأمريكية؟

StackOverflow https://stackoverflow.com/questions/1086341

  •  23-08-2019
  •  | 
  •  

سؤال

لدي نموذج مع مفتاح أجنبي من "الوالد"

class Item(models.Model):
parent = models.ForeignKey(Parent)

هذا هو نموذج FK

class Parent(models.Model):
name = models.CharField(blank=True, max_length=100)

def __unicode__(self):
    return str(self.name)

أحاول تشغيل استعلام يحصل على جميع العناصر مع أحد الوالدين من "XYZ" لا أحصل عليه

Item.objects.filter(parent="xyz")

عندما أحاول:

Item.objects.filter(parent.name="xyz")

أو:

Item.objects.filter(str(parent)="xyz")

أحصل على خطأ:

SyntaxError: keyword can't be an expression

ما هي الطريقة الصحيحة للقيام بهذا العمل؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام السفلات السفلية المزدوجة في الكلمة الرئيسية التي تم تمريرها إلى filter() للوصول إلى الحقول في علاقة مفتاح خارجية. مثله:

Item.objects.filter(parent__name="xyz")

وثائق django.

نصائح أخرى

فقط للإشارة المستقبلية للمجلة، مع الإصدارات الحديثة من Django، يجب عليك استخدام طريقة إضافية في الكلمة الأساسية. على سبيل المثال، بدلا من parent__name عليك أن تفعل parent__name__exact. وبعد رابط كاتو يحتوي على أمثلة أخرى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top