Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обернуть результаты запроса в model object, Обернуть результаты запроса 
:(
    Опции темы
31416
Дата 25.12.2008, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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, а в порядке увеличения первичного ключа, а мне нужно сохранить этот порядок) из-за этого и задаю этот вопрос.
--------------------
Мой блог
PM MAIL WWW ICQ   Вверх
Daevaorn
Дата 25.12.2008, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 3
Всего: 70



Какой фреймворк вы используете?

Это сообщение отредактировал(а) Daevaorn - 25.12.2008, 16:53
PM MAIL WWW   Вверх
31416
Дата 25.12.2008, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



джанго)
одни и те же люди)
--------------------
Мой блог
PM MAIL WWW ICQ   Вверх
Stqs
Дата 28.12.2008, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 25.6.2007
Где: Kh

Репутация: нет
Всего: 1



непонятно зачем было от моделей уходить к SQL  вообще
а потом париться с переводом обратно
можно же все эти ваши SQL операции сделать на уровне ORM
да и идеологически правильней это будет если уж Вы Django используете 
PM MAIL ICQ Skype   Вверх
31416
Дата 7.1.2009, 02:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



Ну бывает же такое что лучше написать один сложный SQL запрос из соображений производительности, дело в том что у меня там еще есть вычисления над полями внутри самого запроса т.е типа такого ... where ((t1.a-t1.b)>0) ... как такое сделать средствами orm django незнаю.
--------------------
Мой блог
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.