【问题标题】:write inner join query in django在 django 中编写内部连接查询
【发布时间】:2018-10-08 01:03:51
【问题描述】:

我有两个表,需要用 django 编写这个查询

我的模型是:

class students(models.Model):
    name = models.CharField(max_length=30)
    active = models.BooleanField(max_length=1)

class college(models.Model):
    department = models.CharField(max_length=20)
    college_name = models.CharField(max_length = 50)
    s_id = models.ForeignKey(students, on_delete=models.CASCADE)

我的mysql查询:

select b.name,a.department from college as a 
inner join students as b on (a.s_id = b.id) 
where (a.department = 'CSE' AND b.active = 1)

我只想在 django 中编写这个查询

【问题讨论】:

  • 你试过什么?

标签: mysql django django-models


【解决方案1】:
college.objects.filter(department='CSE',s_id__active=True).values('s_id__name','department')

使用这个

【讨论】:

  • 我猜他的模特名字是小写字母(大学)而不是驼峰(大学)@nawarkhede
  • "s_id__active=True" 是做什么的,请您解释一下。因为我在任何表中都没有字段名称。
  • @Exprator 我的错误。已纠正。
  • 用于连接到另一个表,因为您使用 s_id 作为 ForeignKey 映射的名称,并且要访问该表列,您必须使用 (dundee, '__') 双下划线访问它@msd
猜你喜欢
  • 2017-11-16
  • 1970-01-01
  • 1970-01-01
  • 2019-08-11
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多