django的model中related_name和related_query_name的区别(django的queryset)

网友投稿 456 2022-09-06


django的model中related_name和related_query_name的区别(django的queryset)

#  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()


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【lssvm预测】基于麻雀算法优化最小二乘支持向量机实现数据预测含Matlab源码
下一篇:将InputStream转化为base64的实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~