Django视图ORM连表操作

正向:根据外键名访问链接的表

反向:通过小写表名_set.all()取的

def index(request):
    from app import models


    #连表(正向操作)
    list1=models.UserInfo.objects.all()
    for user in list1:
        print(user.id,user.pwd,user.age,user.ug_id,user.ug.title)

    #反向操作
    obj=models.UserGroup.objects.all().first()
    print('dep:',obj.title)
    for row in obj.userinfo_set.all():
        print(row.user)
    
    #小写表名
    result = models.UserGroup.objects.all().values('id', 'name','userinfo')
    result = models.UserGroup.objects.all().values('id', 'name','userinfo__name')

    result=models.UserInfo.objects.all().values('id','name')
    #QuerySet[{'k1':'v1','k2':'v2',.....}]

    #跨表
    result = models.UserInfo.objects.all().values('id', 'name','ug__title')
    for row in result:
        print(row['id'],row['name'],row['ut__title'])

    result = models.UserInfo.objects.all().values_list('id', 'name')
    #QuerySet[('id',xxx),('name',xxx),....]

    return HttpResponse('1111')
发布了26 篇原创文章 · 获赞 0 · 访问量 588

猜你喜欢

转载自blog.csdn.net/kkLeung/article/details/104688265