Добрый день! Собственно проблема:
При выполнении этого кода:
{% if hello_message %}
Вы можете воспользоватьсяпоиском по сайту, просто введите запрос в поле
{% csrf_token %}
{% endif %}
{% if books_result %}
Результат: {{ books_result|length }}
{% for book in books_result%}
{{ book.title }}, автор книги: {{ book.author }}
{% endfor %}
{% elif sorry_message %}
По вашему запросу {{ query_string }} ничего не найденно... сорри...
{% endif %}
Получаю:
Заводы горноуральска, автор книги: <django.db.models.fields.related.ManyRelatedManager object at 0x0271C110>
Я не получаю списка авторов книги, а лишь ManyRelatedManager object
Модели:
class Author(models.Model):
salutation = models.CharField(max_length = 10, verbose_name = 'Звание')
first_name = models.CharField(max_length = 30, verbose_name = 'Имя')
last_name = models.CharField(max_length = 40, verbose_name = 'Фамилия')
email = models.EmailField(verbose_name = 'Почта')
headshot = models.ImageField(upload_to = 'tmp/', blank = True, verbose_name = 'Изображение')
def __unicode__(self):
return '%s %s' % (self.first_name, self.last_name)
class Book(models.Model):
title = models.CharField(max_length = 100)
author = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
def __unicode__(self):
return self.title
Представление:
def search(request):
output = {}
output.update(csrf(request))
output['hello_message'] = True
output['search_field'] = True
if request.method == 'POST':
query_string = request.POST['query_string'].strip()
if query_string:
output['books_result'] = Book.objects.filter(title__icontains = query_string)
output['sorry_message'] = True
output['query_string'] = query_string
return render_to_response('search.html', output)
В общем требуется помощь по этому самому обьекту, как с ним работать