Форум сайта python.su
Есть две таблицы например
Машины и Города
структура Машины id, car, id_city
структура Города id_city, name
как в шаблоне сделать выгрузку Город - Машины???
получить значения могу
citys = City.objects.all()
cars = Car.objects.all()
в шаблоне вывести на экран последовательно могу
{% if citys %} <ul> {% for city in citys %} <li>{{city.name}}</li> //Здесь хочу сделать подобие //если есть машины в этом городе, вывести их сюда //как передать параметр в {% for %} {% endfor %} </ul> {% endif %}
Офлайн
{% if citys %} <ul> {% for city in citys %} <li>{{city.name}}</li> {% for car in city.car_set.all %} {{car}} {% endfor %} {% endfor %} </ul> {% endif %}
Офлайн
Код почему то не заработал, но начал капать в эту сторону
{% for car in city.car_set.all %}
def get_cities(self): return Cars.objects.filter(id_city=self)
{% if citys %} <ul> {% for city in citys %} <li>{{city.name}}</li> {% for car in city.get_cities%} {{car.car}} {% endfor %} {% endfor %} </ul> {% endif %}
Отредактировано gvasily86 (Авг. 8, 2013 12:26:47)
Офлайн
А ещё не подскажете насколько это правильно на каждого посетителя так дёргать базу? А если там порядка 1000 записей, нагрузка будет жёсткая?
Офлайн
Установи debag-toolbar, там можно посмотреть количество запросов к базе
Офлайн
gvasily86если данные для каждого посетителя меняются - то правильно, если нет, то нужно кэшировать.
А ещё не подскажете насколько это правильно на каждого посетителя так дёргать базу? А если там порядка 1000 записей, нагрузка будет жёсткая?
{% load cache %} {% cache 500 sidebar %} .. sidebar .. {% endcache %}
Офлайн
Car.objects.order_by('city') и regroup
в шаблоне спасут отца русской демократии.
Офлайн
Спасибо, как раз изучаю мануалы
Офлайн