#  ForeignKey的字段:

related_name 反向操作时,使用的字段名,用于代替原反向查询时的'表名小写_set'。

related_query_name :反向查询操作时,使用的连接前缀,用于替换'表名小写'。

作用于反向查询的时候

示例:


    class Book(models.Model):
title = models.CharField(max_length=32,verbose_name='书名')
pulish = models.ForeignKey(to='Publish')

class Publish(models.Model):
name = models.CharField(max_length=32,verbose_name='出版社名称')



publish_obj = models.Publish.objects.filter(name='东方出版社').first()
publish_obj.book_set.all()

# related_name

    class Book(models.Model):
title = models.CharField(max_length=32,verbose_name='书名')
pulish = models.ForeignKey(to='Publish', related_name= 'b')

class Publish(models.Model):
name = models.CharField(max_length=32,verbose_name='出版社名称')

publish_obj = models.Publish.objects.filter(name='东方出版社').first()
publish_obj.b.all()

  # related_query_name

    class Book(models.Model):
title = models.CharField(max_length=32,verbose_name='书名')
pulish = models.ForeignKey(to='Publish', related_query_name= 'b')

class Publish(models.Model):
name = models.CharField(max_length=32,verbose_name='出版社名称')

publish_obj = models.Publish.objects.filter(name='东方出版社').first()
publish_obj.b_set.all()