过滤外键关系中存在的对象

时间:2017-01-10 18:26:11

标签: python django django-models orm

我的数据中有以下关系:

型号:

class Course(models.Model):
    name = models.CharField(max_length=200)
    concepts = models.ManyToManyField(Concept, related_name='course_concepts')

class Concept(models.Model):
    name = models.CharField(max_length=120)

但是我想建立一个属于特定课程的概念查询集( course_x )。

我尝试过以下操作,但不断收到参考错误:

Concept.objects.filter(self__in=course_x)

因此,只查询与特定对象的外键关系匹配的对象的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

以下是如何过滤ConceptCourse特定name相关的concepts = Concept.objects.filter(course__name="Your course name") 个对象:

concepts = Concept.objects.filter(course__name__icontains="mathematics")

或者,您可以过滤与课程查询集相关的概念:

public partial class frmBenefitSummaryList : System.Web.UI.Page
{
    //public string PlanID = Convert.ToString(Request.QueryString["PlanID"]);
    //public string AuditID = Convert.ToString(Request.QueryString["AuditID"]);
    //public string UID = LoginSecurity.GetUser("ID");
    public string SecLevel = (HiddenField)Page.Master.FindControl("hdnSecLevel");