我有课,我尝试在elasticsearchstudent_id
中设置为_id
字段。我指的是 elasticsearch-dsl 文档中的持久示例。
from elasticsearch_dsl import DocType, String
ELASTICSEARCH_INDEX = 'student_index'
class StudentDoc(DocType):
'''
Define mapping for Student type
'''
student_id = String(required=True)
name = String(null_value='')
class Meta:
# id = student_id
index = ELASTICSEARCH_INDEX
我通过设置绑定id
但Meta
它不起作用。
我得到解决方案作为覆盖save
方法,我实现了这一点
def save(self, **kwargs):
'''
Override to set metadata id
'''
self.meta.id = self.student_id
return super(StudentDoc, self).save(**kwargs)
我将这个对象创建为
>>> a = StudentDoc(student_id=1, tags=['test'])
>>> a.save()
有没有直接的方法来设置Meta
没有覆盖save
方法?