Как на django сделать вывод из связанных моделей?

Добрый день!
Подскажите пожалуйста как сделать выборку из связанных моделей
Пример модели models.py:
class managers(models.Model):
         fio = models.CharField(max_length=100, verbose_name="ФИО")
         def get_messages(self):
		return self.messages.all()

class messages(models.Model):
        text = models.TextField()
        manager = models.ForeignKey(Managers)


пример urls.py:
def index(request):
	keyWords = {
		'managers': models.managers.objects.all()
	}
	return render_to_response('index.html', keyWords)


пример шаблона index.html:
<table>
{% for manager in managers %}
     <tr>
           <td>{{ manager.fio }}</td>
           <td>
                 {% with messages=managers.get_messages %}
                        <table>
                        {% for message in messages %}
                            <tr><td>{{ message.text }}</td></tr>
                        {% endfor %}
                        </table>
                    {% endwith %}
           </td>
     </tr>
{% endfor %}
</table>


Данный пример выводит для каждого менеджера все сообщения
Как сделать так что бы в сообщения выводились только для конкретного менеджера?
Заранее Спасибо!
  • Вопрос задан
  • 3351 просмотр
Решения вопроса 1
@d1skort
junior
def get_messages(self):
    return self.messages_set.all()


и в шаблоне
{% for manager in managers %}
    {% for message in manager.get_messages  %}
          ...


Название классов бы с большой буквы, по pep'у...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы