55 / 55 / 16
Регистрация: 25.03.2013
Сообщений: 178
|
|||||||||||||||||||||||||||||||
1 | |||||||||||||||||||||||||||||||
Правильно составить запрос к базе данных04.03.2014, 17:30. Показов 2253. Ответов 7
Метки нет (Все метки)
Только недавно начал изучать django, плюс к этому я не силен в sql, поэтому возможно вопрос из матчасти. Хочу выяснить для себя одну штуку, поэтому пример по сути надуманный.
Я создал две модели(они же таблицы в бд как я понимаю): товары и их цены таким образом "models.py"
Потом я хочу с помощью представления вывести таблицу товаров с колонками наименование товара и цена. Но откровенно говоря не знаю что делать. Как можно вывести товар и цену вместе с разных таблиц? Нужно по идее использовать аналог JOIN так? Использовать при этом связанность объектов? Или использовать select_related()? Но как это сделать я не допираю... "view.py"
Добавлено через 2 часа 53 минуты Нашёл такое решение с использованием values(): "view.py"
Если есть более правильный вариант, то подскажите пожалуйста. И ещё вопрос, если никто ни против, задам его здесь. Хочу например хранить цены в таблицы в отсортированном виде, след. нужно использовать индекс к полю цены (так ли это? может я неправильно понимаю назначение индексов ):
0
|
04.03.2014, 17:30 | |
Ответы с готовыми решениями:
7
Как правильно составить запрос к базе данных? PDO как составить правильно запрос к базе данных Как правильно составить запрос к базе? Правильно составить запрос mysql к базе магазина prestashop |
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
04.03.2014, 22:43 | 2 |
Zarex,
это уже Meta данные для модели: ordering называется тут почитайте.
Добавлено через 59 секунд Zarex, а зачем вы ForeignKey кинули? Добавлено через 52 секунды Вроде у товара уникальная цена и все дела, как бы логичнее в goods создать поле price, а не вытворять такое.
0
|
55 / 55 / 16
Регистрация: 25.03.2013
Сообщений: 178
|
|
04.03.2014, 22:48 [ТС] | 3 |
Wolkodav, простите что значит кинул? Недопонял вас скорее всего, но отвечу следующее: я ж должен знать какая цена какому товару соответствует. поэтому внешний ключ и использую. Или что не так? Должен сказать я специально разделил товары и цены, мне нужно проработать именно такую ситуацию.
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
04.03.2014, 22:50 | 4 |
Zarex, просто логику мне объясните? Ну это лишено всякой логики. Кинул, в смысле типо мостика между таблицами).
1
|
55 / 55 / 16
Регистрация: 25.03.2013
Сообщений: 178
|
|
04.03.2014, 23:00 [ТС] | 5 |
ничего лучше не придумал просто)
А подскажите, я честно говоря думал что индексы отвечают за оптимизацию поиска по полю и соответственно они сортируют таблицу по полю этого индекса. А счас получается что это не так. я ошибался в своем понятии sql или это специфика django что за это отвечает мета инфа? Извините если вопрос глупый.
0
|
840 / 478 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
|
|
04.03.2014, 23:07 | 6 |
Zarex, meta инфа отвечает:
1) за саму таблицу как за объект 2) часть вещей связанные с админкой Про индексы - сортируются по индексам, а не по значениям в полях, учитет мат-часть, там все хитрее немного, чем банальная сортировка по значению в полях. Добавлено через 3 минуты тут почитай про метта.
1
|
55 / 55 / 16
Регистрация: 25.03.2013
Сообщений: 178
|
|
04.03.2014, 23:15 [ТС] | 7 |
Wolkodav, да я на джангобуке лажу потиху, просто бывает не замечаешь то что нужно.
Не по теме: А может вы посоветуете что по sql (чтобы без лишней воды, желательно сжато и с примерами на практике)
0
|
Wolkodav
|
04.03.2014, 23:18
Правильно составить запрос к базе данных
#8
|
Не по теме: Zarex, если честно, то решал тут на сайте, есть сжатая теория, есть задачи( много), но как бы чистый SQL для джанги на начальном уровне почти не нужен
0
|
04.03.2014, 23:18 | |
Как правильно сделать запрос поиска в базе данных? Невозможно подключиться к базе данных. Как правильно составить строку соединения Как правильно составить запрос на получения данных Как правильно составить SQL запрос SELECT PDO PHP для получения данных по двум полям Как сделать правильно запрос в базе даних Составить запрос к базе Составить запрос к базе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |