related_name/related_query_name 一般出现在有 Foreignkey 或者 Manytomang 字段的时候 一 一般查询# classDepartment(models.Model): title= models.CharField(verbose_name='部门',max_length=32)classUserInfo(models.Model): depart= models.ForeignKey(verbose_name='部门',to='Department') user= models.CharFi...
如果我们在ForeignKey字段中添加了related_query_name='profile_set'(Django默认会使用<modelname>_set作为查询名称,除非另有指定),则查询将变为: users = User.objects.all().prefetch_related('profile_set') 但通常,为了保持一致性,如果不特别需要自定义,可以省略related_query_name,因为Django会基于related_name(...
related_name/related_query_name 一般出现在有 Foreignkey 或者 Manytomang 字段的时候 一 一般查询 classDepartment(models.Model): title= models.CharField(verbose_name='部门',max_length=32)classUserInfo(models.Model): depart= models.ForeignKey(verbose_name='部门',to='Department') user= models.CharFiel...
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 = ...
related_name 反向操作时,使用的字段名,用于代替原反向查询时的'表名小写_set'。 related_query_name :反向查询操作时,使用的连接前缀,用于替换'表名小写'。 作用于反向查询的时候 示例: class Book(models.Model): title = models.CharField(max_length=32,verbose_name='书名') ...
在谈related_name的作用之前,先看下面的例子:#models.py from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def __str__(self):…
如果不指定related_name,Django会自动使用一个带有后缀的型号的名称创建_set,例如User.map_set.all()...
和related_name 一样,related_query_name 通过一些特殊的语法 支持应用标签和类的插值。ForeignKey.to_field¶ 关联对象的字段。默认情况下,Django 使用相关对象的主键。如果你引用了一个不同的字段,这个字段必须有 unique=True。ForeignKey.db_constraint¶ 控制是否应该在数据库中为这个外键创建一个约束。默认值是...
执行python manage.py makemigrations 和 python manage.py migrate image.png 从上图可以看到和之前的_set操作的效果是一样的,这两个方法是相同的,所以如果觉得比较麻烦的话,可以在定义主表的外键的时候,直接就给外键定义好名称使用related_name 上面的查询主要是通过主表查询子表的信息 ...
在Django中,related_query_name是一个字段选项,用于指定反向查询的名称。它允许我们在使用反向查询时使用自定义的名称,以替代默认的模型名称。 related_query_name的主要作用是方便进行跨关联模型的查询操作。通过指定related_query_name,我们可以在查询中使用更具描述性的名称,使代码更加清晰易读。 举个例子,假设我们有...