我正在为python Django项目创建一个具有相关表的模型的ElasticSearch索引。
当我工作的时候,我遇到了网站https://pypi.org/project/django-elasticsearch-dsl/6.4.2/。我已经按照步骤并为我的模型实现了ElasticSearch,它工作得很好。
但是我找不到def get_instances_from_related(self,related_instance)方法的用途。为什么我们要使用这个方法,在哪里以及何时调用它。
有人能解释一下吗?
谢谢你。
2条答案
按热度按时间p8h8hvxi1#
假设您有
Document
:get_instances_from_related()
在related_models
之一发生变化时使用(在我们的例子中是Parent
对象)。django_elasticsearch_dsl
需要引用parent
对象的所有Child
对象的列表,以便它可以更新索引中每个child
的parent
字段。0ejtzxu12#
如文档中所述,get_instances_from_related()是一个方法,您定义它来获取以某种方式链接到
related_instance
的Document.Django.model
的所有示例(如ForeignKey,ManyToMany)。它非常简洁,因为它可以支持多个相关模型。你只需要指定一种方法,通过related_model获取主模型的
QuerySet
,并将相关示例作为参数传递。