0
私のUbuntuサーバーでdjango-haystackとelasticsearchを使用していて、特定の検索クエリでエラーページが表示されているのを発見しましたが、なぜこれが起こっているのかわかりません... どんな助けにも感謝! :)レンダリング時にVariableDoesNotExist:キー[オブジェクト]の検索に失敗しました
model.py:
class EnActress(models.Model):
name = models.CharField(max_length=100, null=True)
image_urls = models.CharField(max_length=200)
images = models.TextField(null=True)
actress_image = models.TextField(null=True)
class EnMovielist(models.Model):
content_ID = models.CharField(max_length=30)
release_date = models.CharField(max_length=30)
running_time = models.CharField(max_length=10)
actress = models.CharField(max_length=300)
series = models.CharField(max_length=30)
director = models.CharField(max_length=30)
label = models.CharField(max_length=30)
image_urls = models.CharField(max_length=200, null=True)
images = models.TextField(null=True)
image_paths = models.TextField(null=True)
がsearch.indexes.py:
class EnActressIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.EdgeNgramField(document=True, use_template=True)
en_name = indexes.CharField(model_attr='name')
def get_model(self):
return EnActress
def index_queryset(self, using=None):
return self.get_model().objects.all()
class EnMovielistIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.EdgeNgramField(document=True, use_template=True)
content_ID = indexes.CharField(model_attr='content_ID')
release_date = indexes.CharField(model_attr='release_date')
actress = indexes.CharField(model_attr='actress')
label = indexes.CharField(model_attr='label')
def get_model(self):
return EnMovielist
def index_queryset(self, using=None):
return self.get_model().objects.all()
これは、Djangoの
VariableDoesNotExist at /search/
Failed lookup for key [actress_image] in 'EnMovielist object'
Failed lookup for key [%s] in %r
In template /home/ubuntu/venv/avdict/dmmactress/templates/search/search.html, error at line 122
112 {% load staticfiles %}
113 <table class="table table-striped table-hover" cellspacing="0" id='result_table'>
114 <thead>
115 <tr>
116 <th>phto</th>
117 <th>name</th>
118 </tr>
119 </thead>
120 <tbody>
121 <tr class="active">
122 {% with image='enActress/'|add:result.object.actress_image %}
123 <td><img src="{% static image %}" class="img-circle" class="img-responsive" alt="{{result.object.name}}"></td>
124 <td>{{ result.object.name }}</td>
125 {% endwith %}
126 </tr>
127
128 </tbody>
129 </table>
130 {% empty %}
131 <p>no results.</p>
132 {% endfor %}
enactress_text.txt file :
{{ object.name}}
{{ object.actress_image }}
enmovielist_text.txt file :
{{ object.content_ID }}
{{ object.image_paths }}
{{ object.release_date }}
{{ object.running_time }}
{{ object.actress }}
{{ object.series }}
{{ object.director }}
{{ object.label }}
あなたの 'result.object'はどこから来たのですか?エラーメッセージからわかるように、プログラムは 'EnMovielist'型のオブジェクトの' actress_image'フィールドにアクセスしようとします。 – Val