数据表的正反向操作

通过values 和values_list来操作的

数据表代码

class Utype(models.Model):
    title = models.CharField(max_length=32)
    # ucap = models.ForeignKey('Ubumen')

class Uinfo(models.Model):
    name = models.CharField(max_length=32)
    age = models.IntegerField()
    ut = models.ForeignKey('Utype')

url配置

    url(r'^test.html/', views.test),

views函数中的test函数

    #
    #正向查询
    # ZX_result = models.Uinfo.objects.all().first()
    # models.Uinfo.objects.filter(id__gt=6).delete()
    # ZX_result = models.Uinfo.objects.values('name','ut_id') #显示结果为6个,因为Uinfo里面就有6个,这个和left join一样,谁在前面以谁为准
    # ZX_result = models.Uinfo.objects.values('name','ut__id','ut__title') #跨表查询
    #ZX_result = models.Uinfo.objects.values_list('name','ut__title')# 元祖显示
    #print(ZX_result)

    #反向查找
    # FX_result=models.Utype.objects.all().first()#通过print(FX_result.id)来看结果
    # FX_lianbiao = FX_result.uinfo_set.all() #通过数据表小写+单下划线+set来达到反向查找
    # print(FX_lianbiao[0].id)

    FX_result = models.Utype.objects.values_list('id','title','uinfo__age') #反向通过表明小写+双下划线 来去跨表的值
    print(FX_result)
    return HttpResponse('.....')

其他操作

Django orm的正向反向操作_第1张图片
Django orm的正向反向操作