![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| 31416 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 3.5.2006 Репутация: нет Всего: нет |
Есть две модели:
class Tag(models.Model): name = models.CharField(max_length="20", unique=True) class Text(models.Model): title = models.TextField(blank=False) text = models.TextField(blank=False) tags = models.ManyToManyField(Tag) Далее я пишу sql запрос который их соединяет и отбирает результат, по разным условиям select t.* from text t left join text_tags tt on t.id=tt.text_id where tt.tag_id=%s and t.text...(разные условия) order by t.title limit %s,%s text_tags - таблица сгенеренная для отношения tags = models.ManyToManyField(Tag) далее rows = cursor.fetchall() как мне теперь эти rows обернуть в Text - объекты ? ps. вообще на самом деле я делал выборку только id select t.id from и затем еще одну выборку такого вида: Text.objects.filter(pk__in=ids) но проблема в том что теряется порядок в котором были выбраны записи из 1-го кастомного запроса (Text.objects.filter(pk__in=ids) - возвращает не в порядке заданных идентификаторов ids, а в порядке увеличения первичного ключа, а мне нужно сохранить этот порядок) из-за этого и задаю этот вопрос. --------------------
Мой блог |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 3 Всего: 70 |
Какой фреймворк вы используете?
Это сообщение отредактировал(а) Daevaorn - 25.12.2008, 16:53 |
|||
|
||||
| 31416 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 3.5.2006 Репутация: нет Всего: нет |
джанго)
одни и те же люди) --------------------
Мой блог |
|||
|
||||
| Stqs |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 25.6.2007 Где: Kh Репутация: нет Всего: 1 |
непонятно зачем было от моделей уходить к SQL вообще
а потом париться с переводом обратно можно же все эти ваши SQL операции сделать на уровне ORM да и идеологически правильней это будет если уж Вы Django используете |
|||
|
||||
| 31416 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 3.5.2006 Репутация: нет Всего: нет |
Ну бывает же такое что лучше написать один сложный SQL запрос из соображений производительности, дело в том что у меня там еще есть вычисления над полями внутри самого запроса т.е типа такого ... where ((t1.a-t1.b)>0) ... как такое сделать средствами orm django незнаю.
--------------------
Мой блог |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |