エラスティックサーチ(Djangoプロジェクト)でインデックスを作成するためにコードの重複を避けるにはどうすればよいですか?エラスティックサーチでコードの複製を防止する
私は弾性検索でオブジェクトを返すことはできませんが、同じ関連オブジェクトのさまざまな変数を使用して自分自身を見つけることが多いことは私の理解です。
たとえば、Student
のインデックスがあり、彼らが取っているSubject
に関する情報が必要な場合などです。
...
first_subject_enrolled_id = indexes.IntegerField(model_attr='service__id')
def prepare_first_subject_enrolled_id(self, obj):
first_subject_enrolled = Subject.objects.filter(student=obj).order_by('id')
return first_subject_enrolled.id
をしかし、その後のは、私も最初のクラスのSubject
名が在籍したいとしましょう:私は、学生が中に在籍最初Subject
を望んでいた場合、私は弾性検索でこのような何かをするだろう。私は多くのコードを繰り返す必要があります。たとえば:
def prepare_first_subject_name(self, obj):
first_subject_enrolled = Subject.objects.filter(student=obj).order_by('id')
return first_subject_enrolled.name
は、私はちょうど重複や類似したコードの不要なインデックスを回避するために、インデックス機能prepare_first_subject_enrolled_idを呼び出すことができる方法はありますか?