先设计两张表,Room为主表,Person为从表,p_room为外键
主查从
def get(request):
#第一种方法
#获得主表中的一条数据
room = Room.objects.all().first()
#使用room中的id值和从表中的外键进行过滤得到数据
#persons为主表中某个对象对应从表中的数据集
persons = Person.objects.filter(p_room=room.id)
#第二种方法
#通过_set.all()的方法实现,基本格式 对象名.关联的类名小写_set.all()
#举个例子
room = Room.objects.all().first()
#得到的也是主表中某个对象对应从表中的数据集
persons = room.person_set.all()
return HttpResponse(123)
从查主
def get(request):
#通过跨关系查询实现,基本格式为 模型类名__属性名__比较运算符
#可以通过指定从表中的id值,获取此id值对应的从表中的对象从而获取此对象对应的主表中的数据集
rooms = Room.objects.filter(person__id=1)