zoukankan      html  css  js  c++  java
  • related_name和related_query_name举例区别

    例1:

    class UserInfo(models.Model):
        nickname = models.CharField(max_length=32)
        username = models.CharField(max_length=32)
        password = models.CharField(max_length=64)
    
        gender_choices = (
            (1,‘男‘),
            (2,‘女‘),
        )
        gender = models.IntegerField(choices=gender_choices)
    ralated_query_name 
    class U2U(models.Model):
        g = models.ForeignKey(‘UserInfo‘,ralated_query_name=‘a‘)
        b = models.ForeignKey(‘UserInfo‘,ralated_query_name=‘b‘)
    
       # ralated_query_name
    
      #  obj.对象男.b_set.all()
      #  obj.对象女.a_set.all()
    ralated_name
    class U2U(models.Model):
        g = models.ForeignKey(‘UserInfo‘,ralated_name=‘a‘)
        b = models.ForeignKey(‘UserInfo‘,ralated_name=‘b‘)
    
        # ralated_name
    
        #  obj.对象男.b.all()
        #  obj.对象女.a.all()

    例2:

    反向查找

    class UserType(models.Model):
        title = models.CharField(max_length=32)
    
    class User(models.Model):
        username = models.CharField(max_length=32)
        ut = models.ForeignKey(‘UserType‘,related_name=‘xxx‘)
    
    ## related_name=‘xxx‘
    反向:小写表名user_set ===>xxx
    ## related_query_name = ‘xxx‘
    反向:user_set==>xxx_set

    推荐使用

    ut = models.ForeignKey(‘UserType‘,related_name=‘users‘)
  • 相关阅读:
    Poj_1088_滑雪(DP)
    Poj_1088_滑雪(DP)
    Poj_1011_Sticks(剪枝)
    Poj_1011_Sticks(剪枝)
    Poj_1068 Parencodings
    Poj_1068 Parencodings
    Poj_1005_I Think I Need A HouseBoat
    Poj_1005_I Think I Need A HouseBoat
    Poj_1004_FinancialManagement
    git分支管理
  • 原文地址:https://www.cnblogs.com/yuanyongqiang/p/10080392.html
Copyright © 2011-2022 走看看