Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Вывод данных из двух таблиц сортированных по дате. [RSS Feed]

#1 Апрель 20, 2010 10:57:42

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод данных из двух таблиц сортированных по дате.

Приветствую.

Нубовский вопрос по SQL и его аналогу в Django ORM.

Есть две таблицы - Films, Serials. У каждой есть поле pub_date (дата публикации).
Нужно на главной странице выводить и фильмы и сериалы и они должны сортироваться по дате публикации.

Понимаю что почти элементарная задача, но сижу, туплю и не могу понять как это сделать. Ни чистым sql, ни через orm.

Если кто может подсказать буду крайне благодарен.


Спасибо.



Офлайн

#2 Апрель 20, 2010 16:35:04

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2267
Репутация: +  41  -
Профиль   Отправить e-mail  

Вывод данных из двух таблиц сортированных по дате.

а мож он хотел

 Q(films) | Q(serials)

Офлайн

#3 Апрель 20, 2010 17:15:53

mike_girkin
От:
Зарегистрирован: 2009-05-01
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод данных из двух таблиц сортированных по дате.

Подозреваю что у вас проблема со структурой БД, а не с запросом. Огласите описание сущностей.



Офлайн

#4 Апрель 21, 2010 10:33:16

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод данных из двух таблиц сортированных по дате.

По поводу сущностей.
Есть Фильм и есть Сериал.
Для пользователя это одно и тоже (ему собственно пофигу что смотреть). Для базы это разные таблицы.
На страницу нужно вывести и Сериалы и Фильмы сортированные по дате.
Например:

сериал1 - добавлен 10.01.2010
фильм1 - добавлен 11.01.2010
фильм2 - 12.01.2010
……
сериал 100500 - 01.01.2004



Офлайн

#5 Апрель 21, 2010 14:11:35

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод данных из двух таблиц сортированных по дате.

слишком уж много данных в базе. менять структуру нет возможности.
пагинация конечно есть :) поэтому список уже не канает.



Офлайн

#6 Апрель 21, 2010 15:13:18

mike_girkin
От:
Зарегистрирован: 2009-05-01
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод данных из двух таблиц сортированных по дате.

pochechyev
слишком уж много данных в базе. менять структуру нет возможности.
пагинация конечно есть :) поэтому список уже не канает.
У вас точно проблема в структуре БД. Соответственно два варианта - либо вы меняете структуру БД на правильную, и больше не огребаете подобных проблем, либо вы продолжаете изобретать костыли. В качестве варианта костыля могу предложить вам какой-нибудь хитрый запрос с временной таблицей, pure SQL.



Офлайн

#7 Апрель 21, 2010 15:24:53

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2267
Репутация: +  41  -
Профиль   Отправить e-mail  

Вывод данных из двух таблиц сортированных по дате.

или вьюшку написать в базе

Офлайн

#8 Апрель 22, 2010 13:58:14

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод данных из двух таблиц сортированных по дате.

Сделал временную таблицу и кэширую этот запрос. Вроде работает.

По поводу изменения структуры базы - там не все так просто. Дело в том что Фильм и Сериал это разные сущности, т.е. сериал это не видео файл а их собрание и параметры у фильма и сериала очень даже разные, поэтому была создана такая структура.
Пока работает, дальше посмотрим. А доживем до рефакторинга будем думать о структуре.


Всем спасибо за советы.



Офлайн

  • Начало
  • » Django
  • » Вывод данных из двух таблиц сортированных по дате.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version