zoukankan      html  css  js  c++  java
  • Django orm中related_name/related_query_name区别

    class Department(models.Model):
        title = models.CharField(verbose_name='名称',max_length=32)
        
    class UserInfo(models.Model):
        depart = models.ForeignKey(verbose_name='部门',to='Department')
        user = models.CharField(verbose_name='用户',max_length=32)
        pwd = models.CharField(verbose_name='密码', max_length=32)
    

    以前查询:

    正向操作:
    user_object = UserInfo.objects.get(id=1)
    user_object.depart
    
    反向操作:
    depart_object = Department.objects.get(id=9)
    depart_object.userinfo_set.all()
    

    使用related_query_name:

    class Department(models.Model):
        title = models.CharField(verbose_name='名称',max_length=32)
        
    class UserInfo(models.Model):
        depart=models.ForeignKey(verbose_name='部门',to='Department',
                                 related_query_name="u")
        user = models.CharField(verbose_name='用户',max_length=32)
        pwd = models.CharField(verbose_name='密码', max_length=32)
    
    正向操作:
    	user_obj = UserInfo.object.get(id=1)
    	user_obj.depart
    反向操作:
    	department_obj = Department.object.get(id=1)
    	department_obj.u_set.all()
    

    使用related_name:

    class Department(models.Model):
        title = models.CharField(verbose_name='名称',max_length=32)
        
    class UserInfo(models.Model):
        depart=models.ForeignKey(verbose_name='部门',to='Department',related_name="u")
        user = models.CharField(verbose_name='用户',max_length=32)
        pwd = models.CharField(verbose_name='密码', max_length=32)
    
    正向操作:
    	user_obj = UserInfo.object.get(id=1)
    	user_obj.depart
    反向操作:
    	department_obj = Department.object.get(id=1)
    	department_obj.u.all()
    

    从上边的操作中可以看出这两者的区别

  • 相关阅读:
    selenium webdriver简介
    web自动化selenium环境搭建
    web自动化基础之web页面组成
    接口测试基础八--接口自动化前期准备
    小程序测试关注点之一-登录授权
    python实现十大经典算法
    pytest 框架之pytest-html报告生成
    pytest 框架与 unittest 框架的对比
    selenium _上传操作
    selenium 常见操作,使用 js 操作-日期框及文本框
  • 原文地址:https://www.cnblogs.com/zhufanyu/p/12361607.html
Copyright © 2011-2022 走看看