繁体   English   中英

Django:如何实例化RelatedManager对象?

[英]Django: How is a RelatedManager object instantiated?

假设我有两个modelsBookAuthor

如果我现在添加了一个ForeignKey field ,以Book连它Author ,并实例化一个Book object -那么我也可以访问该Book object通过Author object (通过它连接到book_set ,如果没有related_name指定)。 根据我对阅读文档的了解,此访问是通过Author object上的Related Manager object提供的。

何时创建RelatedManager-object 还是它已经是每个Author object object上的一个Author object ,但是在实例化新Book时已连接到每个Book对象? 如果是这样,它如何连接到Book object?

据我所知,文档中没有提到这一点。

在文档中:

如果模型具有ForeignKey,则外键模型的实例将有权访问Manager,该Manager返回第一个模型的所有实例。

您可以询问Django,它将为您提供一些信息:

>>> Author.book_set
<django.db.models.fields.related_descriptors.ReverseManyToOneDescriptor object at 0x7f41aa1920f0>
>>> Author.objects.first().book_set
<django.db.models.fields.related_descriptors.create_reverse_many_to_one_manager.<locals>.RelatedManager object at 0x7f41a9e46828>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM