django连表查询
时间: 2023-10-21 15:06:49 浏览: 110
MyBatis-Plus 如何实现连表查询的示例代码
在Django中,可以使用多种方法进行连表查询。其中一种常见的方法是使用`ForeignKey`字段来建立表之间的关联关系。通过在一个表中定义一个指向另一个表的外键字段,可以实现跨表查询。例如,假设我们有两个模型`Student`和`Department`,`Student`模型中有一个外键字段指向`Department`模型:
```
class Department(models.Model):
dm_id = models.CharField('学院编号', max_length=12, primary_key=True)
# 其他字段...
class Student(models.Model):
stu_id = models.CharField('学号', max_length=12, primary_key=True)
department = models.ForeignKey(Department, on_delete=models.CASCADE)
# 其他字段...
```
通过这样的定义,我们可以使用`Student`模型的外键字段`department`来访问与其关联的`Department`模型的属性。例如,要查询某个学生所属的学院编号,可以使用`student.department.dm_id`。
除了使用外键字段,Django还提供了其他的连表查询方法,比如使用`related_name`参数和`select_related`方法等。
阅读全文