外键是工作中非常常用的一种数据库关联关系, 不同的场景和前提条件下,可供查询的方式不同,我也记录下方便自己查阅
# 定义两个模型一个用户,一个汽车
class Person(models.Model):
name = models.CharField(max_length=10)
class Car(Models.Model):
name = models.CharField(max_length=10)
person = models.ForeignKey(Person, on_delete=models.CASCADE)
基于模型类的外键和外键反向查询:
# 查询张三名下的汽车
Car.objects.filter(person__name='张三')
# 查看某车的用户信息
Person.objects.filter(car_name=carname)
基于实例的外键和外键反向查询
# 外键:作为外键模型的实例,是可以直接获取主键对象
car_instance.person.name
# 外键反向:查询某个用户下所有的骑车
person_instance.car_set.all()