haystackを使用しないでください。これは、基盤となるリレーショナルデータベースで簡単に処理できない場合に全文検索を高速化するためのものです。haystackの使用例は、簡単に検索できるように、ドキュメント内の単語でインデックスを作成するテキストの巨大なチャンクを含む多数の大きなドキュメントを保存する場合です。
Djangoでは、デフォルトですでにテキストレコードのインデックス作成/検索が簡単にできます。たとえば、管理バックエンドを使用すると、検索フィールドを指定するだけで、名前や電話番号を簡単に検索できます。(通常、大文字と小文字を区別しない検索が含まれます。これにより、部分一致が検索されます。たとえば、「doe」または「ohn」だけを検索すると、「JohnDoe」という名前が表示されます)。
したがって、models.pyに次のようなものがある場合:
class Donor(models.Model):
name = models.CharField(max_length=50)
phone = models.CharField(max_length=15)
およびadmin.py:
from django.contrib import admin
from mysite.myapp.models import Donor
class DonorAdmin(admin.ModelAdmin):
model = Donor
search_fields = ['name', 'phone']
admin.site.register(Donor, DonorAdmin)
正常に動作するはずです。改善が必要な場合は、基盤となるRDBMSにフルテキストインデックスを追加することを検討してください。たとえば、postgresを使用すると、基礎となるデータベースに1つのライナーを含むテキスト検索インデックスpost 8.3を作成できます。これは、djangoが自動的に使用する必要があります:http://www.postgresql.org/docs/8.3/static/textsearch-indexes。 html