茂名仿站定制模板建站,西安网站推广哪家稳定,wordpress无法改成中文,大朗网站制作为什么不用_set related_name和related_query_name的区别related_name将成为相关对象的属性#xff0c;允许您使用外键对模型进行“倒退”。例如#xff0c;如果ModelA有像下面这样的字段#xff0c;那么model_b ForeignKeyField(ModelB, related_namemodel_as)这将使您能够… 为什么不用_set related_name和related_query_name的区别 related_name将成为相关对象的属性允许您使用外键对模型进行“倒退”。例如如果ModelA有像下面这样的字段那么model_b ForeignKeyField(ModelB, related_namemodel_as)这将使您能够通过去访问ModelA与您的ModelB实例相关的实例model_b_instance.model_as.all()。请注意这通常是用复数形式编写的外键因为外键是一对多关系并且该等式的许多方面是具有在其上声明的外键字段的模型。 文档中进一步的解释是有帮助的。https://docs.djangoproject.com/en/1.10/topics/db/queries/#backwards-related-objects related_query_name用于Django查询集。它允许您过滤外键相关字段的反向关系。为了继续我们的例子 - 将一个字段设置Model A为 model_b ForeignKeyField(ModelB, related_query_namemodel_a)将使您可以model_a用作查询集中的查找参数如ModelB.objects.filter(model_awhatever)。使用单数形式更常见related_query_name。正如文档所说没有必要指定两者或其中之一related_name和related_query_name。Django具有合理的默认值。 # 统计出每个出版社买的最便宜的书的价格retmodels.Publisher.objects.first().book_set.all()retmodels.Publisher.objects.get(id1).books.all()book_set可以用books代替related_name用在get上retmodels.Publisher.objects.filter().annotate(cMin(zhangzhao__price)).values(name,zhangzhao__title,c)print(ret)book_set可以用books代替related_query_name用在filter上 转载于:https://www.cnblogs.com/shanjinghao/p/9207824.html