[1:46:52 PM] This room is not anonymous
[11:16:39 AM] Хрюндель (джангист): lorien, как можно сортировать по ManyToMany полю? Вообще возможно это?
[11:17:11 AM] Хрюндель (джангист): лорд Морфий, привет. Давно тебя не слышно. Директором ещё не стал там в своей конторе? ))
[11:20:20 AM] лорд Морфий: Хрюндель (джангист): не, нафиг не нать
[11:21:34 AM] lorien: Хрюндель (джангист): в сортировке нельзя использовать связи foo__bar, там ваще тупо, можно только указывать поля модели, если хочешь обратититься к другим моделями, то надо указывать в виде foo.bar, где foo имя таблицы, bar имя колонки
[11:22:02 AM] lorien: ну и соотвественно перед этим надо join замутить через select_related() или extra
[11:22:31 AM] lorien: <red-agent> lorien: и почему у меня все ок?
То, что у тебя всё ок, ещё не доказывает, что багов нет. Баги есть везде )
[11:29:38 AM] Хрюндель (джангист): lorien, не, я про модели вообще говорил. Типа в модели есть ordering = ['vasya', 'petya'] а я там хочу ещё добавить 'kolya' которые является manyTomany
[11:30:27 AM] lorien: Хрюндель (джангист): не знаю, что мешает попробовать? )
[11:30:57 AM] Хрюндель (джангист): Ну я попробовал - не пашет ))
[11:31:28 AM] lorien: а шо пишет?
[11:31:44 AM] Хрюндель (джангист): lorien, сами релейтед айтемс я достаю уже в темплейте через {% for i in product.related_items.all %}
[11:37:07 AM] Хрюндель (джангист): related_items = models.ManyToManyField('self')
[11:38:33 AM] Хрюндель (джангист): а во вьюшке я просто возвращаю имя одного продукта, потом по нему уже в темплейте достаю всё что к нему относится. Вот какие варианты есть всё таки сделать сортирование? Может фильтр какой?
[11:39:43 AM] Хрюндель (джангист): piranha, ты как специалист по manyToMany, как бы поступил?
[11:39:52 AM] lorien: http://groups.google.ru/group/django-users/browse_thread/thread/6acd66bcd9d21de2/31094badfc439cb4
вот тут пиздят вроде про твои проблемы
[11:52:03 AM] Хрюндель (джангист): lorien, да не, вроде хуйню какую то обсуждают. Я вот думаю передать product.related_items.all в какой нибудь фильтр, и там каким-нибудь раком отсортировать по нужному полю и вернуть новый qs, хотя пока не представляю как это сделать.
[1:28:55 PM] red-agent: всеблять
[1:28:57 PM] red-agent: нахуя я вертел
[1:29:04 PM] red-agent: сокеты и треды
[1:46:29 PM] _vovaz04h_: hi all
[1:47:01 PM] slav0nic has set the subject to: Python.Com.UA
| .:Exception Conference #07. 15 марта 2008:. Киев|
[1:47:26 PM] Хрюндель (джангист): lorien, а чё не пашет такая канитель, не знаешь? http://dumpz.org/749/
[1:50:15 PM] wiz: лямбду кстати можно заменить
[1:50:15 PM] wiz: там как-то у сорта есть параметр - сортировать по атрибуту (и по индексу)
[1:50:36 PM] wiz: да, и кто мешает тебе related_items.order_by('unit_price') ?
[1:51:33 PM] red-agent (red-agent@jabber.org) has left (Replaced by new connection)
[1:51:46 PM] red-agent (red-agent@jabber.org) has joined the group chat
[1:52:31 PM] Хрюндель (джангист): wiz, дык это manytomany поле, по нему нельзя сортировать
[1:52:41 PM] wiz: точно-точно?
[1:52:46 PM] Хрюндель (джангист): wiz, нет ))
[1:53:00 PM] Хрюндель (джангист): wiz, но я это из темплейта достаю, даже не знаю как эту указать
[1:54:05 PM] wiz: это как?
[1:54:33 PM] wiz: в дампзе обычный питон (=
[1:54:49 PM] Хрюндель (джангист): wiz, а я итак там по атрибуту сортирую.. когда это обычный лист это пашет, а когда я сделал из queryset лист то не пашет
[1:55:17 PM] Хрюндель (джангист): wiz, {% for i in product.related_items.all %}
[1:55:35 PM] Хрюндель (джангист): я хочу к этому фильтр сделать
[1:55:44 PM] Хрюндель (джангист): который отсортирует и вернёт в нужном порядке
[1:56:52 PM] wiz: а почему нельзя order_by у m2m ?
[1:56:57 PM] wiz: в дб-апи замечаний на эту тему нет
[1:57:33 PM] wiz: ещё можно сортировку в мету прописать к итемам
[1:58:40 PM] Хрюндель (джангист): wiz, ну то что в модели нельзя в мету прописать m2m это я 100% гарантию даю
[1:58:52 PM] Хрюндель (джангист): да и во вьюшку вроде нельзя
[1:59:04 PM] satels (satels@gmail.com) has left (offline)
[1:59:09 PM] wiz: а если попробовать? (=
[1:59:59 PM] Хрюндель (джангист): wiz, блин.. ломать не хочу, тут этот интернет магазин, всё так завязано друг на друга.. Всё через жопу как то выдаётся. Тут например он берёт продукт и уже в темплейте выберает все релейтед
[2:00:25 PM] wiz: ну вот для таких случаев мета и есть
[2:00:30 PM] Хрюндель (джангист): Но меня всё-таки фильтр больше интересует.
[2:00:39 PM] Хрюндель (джангист): wiz, ну вот мета не пашет для м2м
[2:00:43 PM] Хрюндель (джангист): это я проверил
[2:00:44 PM] wiz: аа
[2:00:52 PM] wiz: а order_with_respect_to ?
[2:00:58 PM] Хрюндель (джангист): а где это?
[2:01:02 PM] Хрюндель (джангист): ща погуглю
[2:01:02 PM] wiz: там же
[2:03:02 PM] polipo (use@jabber.ru) has left
[2:04:10 PM] Хрюндель (джангист): о, вроде должно пахать
[2:05:14 PM] qzip (qzip@jabber.ru) has left (offline)
[2:11:56 PM] slav0nic (slav0nic@jabber.ru) has left (Replaced by new connection)
[2:12:04 PM] slav0nic (slav0nic@jabber.ru) has joined the group chat (Автостатус 'Недоступен' из-за бездействия пользователя.)
[2:12:25 PM] Хрюндель (джангист): блин, что то я уже нифига не понимаю, модель оказалась не m2m, а проперти. http://dumpz.org/750/
[2:12:55 PM] wiz: бгг
[2:14:11 PM] Хрюндель (джангист): если оно property, в джановской админке такое поле создаётся?
[2:14:16 PM] wiz: нет
[2:14:25 PM] wiz: это ж вычисляемое поле
[2:15:02 PM] Хрюндель (джангист): угу, значит по идее должно работать sorting = ['unit_price'] не?
[2:15:16 PM] lpaul (beef_@jabber.ru) has joined the group chat
[2:15:26 PM] wiz: ordering ?
[2:15:38 PM] Хрюндель (джангист): class Meta:
ordering = ('ordering', 'name',)
[2:15:43 PM] wiz: не должен - он только для sql-сортировки
[2:16:06 PM] Хрюндель (джангист): а как тогда?
[2:16:21 PM] lpaul (beef_@jabber.ru) has left
[2:20:33 PM] Хрюндель (джангист): Product has no field named 'unit_price' если делать order_with_respect_to
[2:20:59 PM] red-agent (red-agent@jabber.org) has left (Replaced by new connection)
[2:21:00 PM] red-agent (red-agent@jabber.org) has joined the group chat
[2:21:04 PM] wiz: ну есно
[2:21:14 PM] wiz: питон 2.5?
[2:21:55 PM] Хрюндель (джангист): да
[2:22:01 PM] Хрюндель (джангист): джанга последняя
[2:22:11 PM] Хрюндель (джангист): вот модель, чисто для прикола глянь http://dumpz.org/751/
[2:23:06 PM] wiz: казалось бы, при чём тут пхп? ((=
[2:23:39 PM] Хрюндель (джангист): wiz, да я сам в шоке.. Напридумывают хуйни, а мне разгребать
[2:24:23 PM] wiz: get_FOO = property(_get_FOO) --- этапять
[2:25:36 PM] Хрюндель (джангист): так, в общем фильром надо я так понял
[2:25:40 PM] Хрюндель (джангист): фильтром*
[2:26:00 PM] wiz: ..._set.all|price_sort ?
[2:26:26 PM] wiz: а в менеджере этого нету?
[2:26:26 PM] Хрюндель (джангист): угу
[2:26:39 PM] wiz: ProductManager который
[2:26:48 PM] Хрюндель (джангист): Ща гляну куда он там ведёт
[2:27:48 PM] Хрюндель (джангист): class ProductManager(models.Manager):
def active(self):
return self.filter(active=True)
[2:28:16 PM] Хрюндель (джангист): проверяет если поле active=True
[2:28:27 PM] wiz: ну вот туда забабахать если?
[2:28:31 PM] wiz: ещё одним методом
[2:28:36 PM] lorien: чокаво? чо не работает? )
[2:28:43 PM] wiz: будет не .all, а .price_sorted
[2:29:19 PM] Хрюндель (джангист): wiz, дык а как он это найдет? Этож он там sql использует, а это property и если я правильно понимаю он вообще не поймёт что к чему
[2:29:32 PM] wiz: не
[2:29:38 PM] wiz: туда можно что угодно писать
[2:29:44 PM] wiz: хоть ретурн "превед"
[2:32:32 PM] wiz: for key in config_value('PRODUCT', 'PRODUCT_TYPES'):
app, subtype = key.split("::")
[2:32:32 PM] * wiz рыдает
[2:33:20 PM] red-agent: и кто писал эту херь?
[2:33:20 PM] Хрюндель (джангист): так типа? class ProductManager(models.Manager):
def active(self):
return self.filter(active=True).order_by('unit_price')
[2:33:30 PM] Хрюндель (джангист): red-agent, satchmo
[2:33:32 PM] wiz: не, unit price тебе не получится
[2:33:41 PM] red-agent: таки да, chmo
[2:33:42 PM] red-agent: ЖВ
[2:33:44 PM] red-agent:
[2:34:42 PM] lpaul (beef_@jabber.ru) has joined the group chat
[2:34:42 PM] lpaul (beef_@jabber.ru) has left
[2:34:42 PM] wiz: ппц.. и я ещё хотел его себе ставить... )
[2:34:43 PM] Хрюндель (джангист): wiz, а шо тогда? Менеджеры, хуенеджеры )) Мой менеджер меня выебет если не сделаю ))
[2:36:42 PM] wiz: return [item.unit_price for price, item in sorted((item.unit_price, item) for item in self.related_items)
[2:36:42 PM] wiz: йииххаа!
[2:36:42 PM] wiz: (8
[2:38:48 PM] Хрюндель (джангист): wiz, так, последний вопрос надеюсь.. Это вместо return self.filter(active=True) писать что ли?
[2:38:54 PM] wiz: нее
[2:38:55 PM] lorien: red-agent: таки чем трах с сокетами закончился?
[2:38:59 PM] wiz: это в новый метод
[2:39:19 PM] wiz: def related_items
[2:39:36 PM] wiz: у менеджера
[2:39:43 PM] red-agent: lorien: доллгим и мучительным сексеом
[2:39:59 PM] red-agent: сначала с socket, потом, когда стало ясно что это до пизды - с asyncore
[2:40:37 PM] red-agent: продолжилось свзяванием asyncore, обьектов дерайвнутых от диспатчера и сокетов
[2:40:37 PM] Хрюндель (джангист): wiz, так? http://dumpz.org/752/
[2:41:00 PM] red-agent: закончилось :qa! и cd ..;rm -rf WCrowder
[2:41:11 PM] wiz: ага, только скобки поправь
[2:42:06 PM] wiz: lorien, сделай в дампзе возможность клонирования/редактирования
[2:43:11 PM] lorien: wiz: редактировать можно, просто надо создавать дампы из-под своего логина
[2:43:12 PM] wiz: а чужие дампы?
[2:43:27 PM] lorien: wiz: тоже можно, мышку берёшь, выделяешь, потом в буфер копируешь, ну дальше догадаешься
[2:43:30 PM] wiz: http://dumpz.org/753/ -- как то так
[2:43:31 PM] Хрюндель (джангист): wiz, да помоему ему пофиг на то что мы добавили..
[2:43:46 PM] wiz: ой не
[2:43:47 PM] Хрюндель (джангист): а так.. ща попробую
[2:43:50 PM] wiz: так конфликт будет
[2:44:10 PM] Хрюндель (джангист): ёпт, конфликт закончится моим увольнением ))
[2:44:32 PM] wiz: там related_items низзя - он сам себя вызывать будет
[2:44:47 PM] wiz: надо какой-нибудь sorted_stuff (=
[2:44:56 PM] mimmuror (mimmuror@xdsl.by) has left
[2:45:21 PM] slav0nic (slav0nic@jabber.ru) has left (Replaced by new connection)
[2:45:36 PM] Хрюндель (джангист): а юзать его потом как?
[2:45:48 PM] Хрюндель (джангист): product.sorted_stuff.all() ?
[2:45:51 PM] wiz: не
[2:45:57 PM] wiz: росто sorted.stuff()
[2:46:02 PM] wiz: или без () в шаблоне
[2:46:08 PM] red-agent: кто-нить юзает pycrypto?
[2:46:08 PM] wiz: *_
[2:46:14 PM] slav0nic (slav0nic@jabber.ru) has joined the group chat (Автостатус 'Недоступен' из-за бездействия пользователя.)
[2:46:19 PM] wiz: red-agent, я пробовал
[2:46:36 PM] red-agent: и как?
[2:46:45 PM] wiz: вроде работает
[2:47:04 PM] red-agent: а кроме него юзал что-то?
[2:47:06 PM] Хрюндель (джангист): wiz, да, зря я главу про менеджеры пропустил. Вечером гляну. Пока отмажусь как нибудь
[2:47:35 PM] wiz: оо
[2:47:50 PM] lorien: Хрюндель (джангист): читай главу "поиск работы с неудовлетворительной записью в послужном списке"
[2:47:50 PM] * wiz внезапно осознал что менеджеры то тут и непричём (ж
[2:48:03 PM] lorien: можно узнать, про что вы пиздите уже полчаса? )
[2:48:06 PM] wiz: это ж метод объекта
[2:48:28 PM] Хрюндель (джангист): lorien, это у wiz надо узнать о чём мы, потому как я ниочём ))
[2:48:28 PM] wiz: менджер это когда Product.objects.FOO
[2:48:51 PM] satels (ipetuhov@chat.assembla.com) has joined the group chat
[2:48:54 PM] wiz: ойблин
[2:48:58 PM] * wiz запуталсо
[2:49:00 PM] Хрюндель (джангист): wiz, вроде менджер это когда Product.myCustomManager.all()
[2:49:22 PM] wiz: ну или objects - если дефолтный менеджер заменён
[2:49:38 PM] wiz: аа
[2:49:40 PM] Хрюндель (джангист): угу, ну вот тут он заменён на выдачу только тех кто active=True
[2:49:44 PM] wiz: всё правильно
[2:49:58 PM] wiz: можно и в менеджеры
[2:50:15 PM] wiz: product.related_items.price_sorted
[2:50:30 PM] Хрюндель (джангист): только я не понял почему там функция active называется.. иму типа пофиг на имя функции внутри менеджера?
[2:51:19 PM] Хрюндель (джангист): или это будет имя которое надо юзать, типа Model.active.all() ?
[2:51:24 PM] wiz: http://dumpz.org/754/
[2:51:26 PM] wiz: во
[2:52:33 PM] wiz: он же сам на себя m2m делает
[2:53:47 PM] wiz: если пихнуть в менеджер, то можно будет и Product.objects.price_sorted() и product.related_items.price_sorted() делать
[2:53:48 PM] wiz: только это в конце надо ставить ибо там на выходе уже не кверисет
[2:54:09 PM] Хрюндель (джангист): wiz, ему явно пофиг на новый метод в Менеджере.. он видать не использует..
[2:54:17 PM] wiz: использует
[2:54:24 PM] wiz: там objects = ProductManager()
[2:54:27 PM] Хрюндель (джангист): ну я результата не вижу
[2:54:32 PM] wiz: а как смотришь?
[2:54:34 PM] Хрюндель (джангист): как было всё так и осталось
[2:54:42 PM] Хрюндель (джангист): да на сайте тут у меня в локалке
[2:54:53 PM] wiz: вызываешь как?
[2:55:16 PM] Хрюндель (джангист): wiz, вызов не изменял, про что и говорю мол надо где то указать ему
[2:55:23 PM] Хрюндель (джангист): в темплейте
[2:55:24 PM] wiz: а
[2:55:32 PM] wiz: ну вот замени там all на price_sorted
[2:55:51 PM] wiz: all он конечно не изменит
[2:56:32 PM] Хрюндель (джангист): wiz, ааааа!!! Работает!
[2:56:55 PM] Хрюндель (джангист): Сцуко, пойду щас повышение зарплаты просить
[2:58:07 PM] wiz: патчик в сатчмо вышли
[3:08:53 PM] piranha (piranha@eth0.net.ua) has left
[3:09:03 PM] piranha (piranha@eth0.net.ua) has joined the group chat
[3:12:27 PM] This room is not anonymous
[3:12:27 PM] pleax (pleax@jabber.ru) has joined the group chat (Yep, I'm here.)
[3:12:28 PM] satels (ipetuhov@chat.assembla.com) has joined the group chat
[3:12:28 PM] piranha (piranha@eth0.net.ua) has joined the group chat
[3:12:28 PM] red-agent (red-agent@jabber.org) has joined the group chat
[3:12:28 PM] lorien (lorien@pydev.ru) has joined the group chat (пыщь пыщь)
[3:12:28 PM] mishok13 (mishok13@jabber.te.ua) has joined the group chat
[3:12:29 PM] poltergeist (poltergeist@jabber.ru) has joined the group chat
[3:12:29 PM] talmuth (talmuth@waka-waka.org.ua) has joined the group chat
[3:12:29 PM] slav0nic (slav0nic@jabber.ru) has joined the group chat (Автостатус 'Недоступен' из-за бездействия пользователя.)
[3:12:29 PM] _vovaz04h_ (vovaz04h@orbita.dp.ua) has joined the group chat
[3:12:29 PM] wiz (wiz@mymcomm.net) has joined the group chat (мы его с нетерпением ждём)
[3:12:30 PM] patriot (xPATRIOTx@gmail.com) has joined the group chat
[3:12:30 PM] denz (peredoz2003@jabber.kiev.ua) has joined the group chat (Auto Status (idle))
[3:12:30 PM] Leg (leg@jabber.no) has joined the group chat (Give it up, I'm not in!)
[3:12:30 PM] лорд Морфий (murphy@sgtp.samara.ru) has joined the group chat
[2:51:57 PM] wiz: во
[2:53:05 PM] wiz: он же сам на себя m2m делает
[2:53:55 PM] wiz: если пихнуть в менеджер, то можно будет и Product.objects.price_sorted() и product.related_items.price_sorted() делать
[2:54:16 PM] wiz: только это в конце надо ставить ибо там на выходе уже не кверисет
[2:54:41 PM] Хрюндель (джангист): wiz, ему явно пофиг на новый метод в Менеджере.. он видать не использует..
[2:54:49 PM] wiz: использует
[2:54:55 PM] wiz: там objects = ProductManager()
[2:54:59 PM] Хрюндель (джангист): ну я результата не вижу
[2:55:04 PM] wiz: а как смотришь?
[2:55:06 PM] Хрюндель (джангист): как было всё так и осталось
[2:55:14 PM] Хрюндель (джангист): да на сайте тут у меня в локалке
[2:55:24 PM] wiz: вызываешь как?
[2:55:47 PM] Хрюндель (джангист): wiz, вызов не изменял, про что и говорю мол надо где то указать ему
[2:55:55 PM] Хрюндель (джангист): в темплейте
[2:55:55 PM] wiz: а
[2:56:04 PM] wiz: ну вот замени там all на price_sorted
[2:56:22 PM] wiz: all он конечно не изменит
[2:57:03 PM] Хрюндель (джангист): wiz, ааааа!!! Работает!
[2:57:27 PM] Хрюндель (джангист): Сцуко, пойду щас повышение зарплаты просить
[2:58:01 PM] wiz: патчик в сатчмо вышли
[3:12:35 PM] slav0nic has set the subject to: Python.Com.UA
| .:Exception Conference #07. 15 марта 2008:. Киев|
[3:12:47 PM] red-agent (red-agent@jabber.org) has left
[3:13:42 PM] Большой Лис (kron@jabber.linux.md) has joined the group chat
[3:14:02 PM] Leg (leg@jabber.no) has left
[3:20:30 PM] red-agent (red-agent@jabber.org) has joined the group chat
[3:27:18 PM] This room is not anonymous
[3:27:18 PM] PC (pc@jabber.gafol.net) has joined the group chat
[3:27:18 PM] pleax (pleax@jabber.ru) has joined the group chat (Yep, I'm here.)
[3:27:19 PM] satels (ipetuhov@chat.assembla.com) has joined the group chat
[3:27:19 PM] Большой Лис (kron@jabber.linux.md) has joined the group chat
[3:27:19 PM] piranha (piranha@eth0.net.ua) has joined the group chat
[3:27:19 PM] red-agent (red-agent@jabber.org) has joined the group chat
[3:27:19 PM] lorien (lorien@pydev.ru) has joined the group chat (пыщь пыщь)
[3:27:20 PM] mishok13 (mishok13@jabber.te.ua) has joined the group chat
[3:27:20 PM] poltergeist (poltergeist@jabber.ru) has joined the group chat
[3:27:20 PM] talmuth (talmuth@waka-waka.org.ua) has joined the group chat
[3:27:20 PM] slav0nic (slav0nic@jabber.ru) has joined the group chat (Автостатус 'Недоступен' из-за бездействия пользователя.)
[3:27:20 PM] _vovaz04h_ (vovaz04h@orbita.dp.ua) has joined the group chat (Автостатус 'Отошел' из-за бездействия пользователя.)
[3:27:21 PM] wiz (wiz@mymcomm.net) has joined the group chat (мы его с нетерпением ждём)
[3:27:21 PM] patriot (xPATRIOTx@gmail.com) has joined the group chat
[3:27:21 PM] denz (peredoz2003@jabber.kiev.ua) has joined the group chat
[3:27:21 PM] лорд Морфий (murphy@sgtp.samara.ru) has joined the group chat
[2:51:57 PM] wiz: во
[2:53:05 PM] wiz: он же сам на себя m2m делает
[2:53:55 PM] wiz: если пихнуть в менеджер, то можно будет и Product.objects.price_sorted() и product.related_items.price_sorted() делать
[2:54:16 PM] wiz: только это в конце надо ставить ибо там на выходе уже не кверисет
[2:54:41 PM] Хрюндель (джангист): wiz, ему явно пофиг на новый метод в Менеджере.. он видать не использует..
[2:54:49 PM] wiz: использует
[2:54:55 PM] wiz: там objects = ProductManager()
[2:54:59 PM] Хрюндель (джангист): ну я результата не вижу
[2:55:04 PM] wiz: а как смотришь?
[2:55:06 PM] Хрюндель (джангист): как было всё так и осталось
[2:55:14 PM] Хрюндель (джангист): да на сайте тут у меня в локалке
[2:55:24 PM] wiz: вызываешь как?
[2:55:47 PM] Хрюндель (джангист): wiz, вызов не изменял, про что и говорю мол надо где то указать ему
[2:55:55 PM] Хрюндель (джангист): в темплейте
[2:55:55 PM] wiz: а
[2:56:04 PM] wiz: ну вот замени там all на price_sorted
[2:56:22 PM] wiz: all он конечно не изменит
[2:57:03 PM] Хрюндель (джангист): wiz, ааааа!!! Работает!
[2:57:27 PM] Хрюндель (джангист): Сцуко, пойду щас повышение зарплаты просить
[2:58:01 PM] wiz: патчик в сатчмо вышли