抽象的なSearchIndexクラスを作成するには、Djangoで抽象基盤モデルを作成する方法と同じようにしますか?抽象Haystack SearchIndexクラスを作成する方法
私は同じ基本フィールド(object_id、タイムスタンプ、重要度など)を与えたいいくつかのSearchIndexを持っています。現在、私はこのコードをすべて複製しているので、 "BaseIndex"を作成して、すべての実際のインデックスクラスを継承させようとしています。
私が試したよ:
class BaseIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
object_id = indexes.IntegerField()
timestamp = indexes.DateTimeField()
class Meta:
abstract = True
class PersonIndex(BaseIndex):
...other fields...
をしかし、これは私にエラーを与える:
NotImplementedError: You must provide a 'model' method for the '<myapp.search_indexes.BaseIndex object at 0x18a7328>' index.
ので、私はその後、試してみました:
class BaseIndex(object):
text = indexes.CharField(document=True, use_template=True)
object_id = indexes.IntegerField()
timestamp = indexes.DateTimeField()
class PersonIndex(BaseIndex, indexes.SearchIndex, indexes.Indexable):
first_name = indexes.CharField()
middle_name = indexes.CharField()
last_name = indexes.CharField()
をが、これらは私にエラーを与える:
SearchFieldError: The index 'PersonIndex' must have one (and only one) SearchField with document=True.
カスタムSearchIndexサブクラスから継承するにはどうすればよいですか?
A [検索インデックス 'Meta'クラス](http://django-haystack.readthedocs.org/en/latest/searchindex_api.html#modelsearchindex)属性を持っていない' abstract' ...どこから得たのか分からない? –