[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: 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: патчик в сатчмо вышли