Теги к тегам

39 views
Skip to first unread message

Stanislav Panasik

unread,
Jul 24, 2012, 2:13:03 PM7/24/12
to Получатели сводки
Приветствую !

Кто-нибудь делал вложенную систему тегов ? Т.е. чтобы к какому-то тегу
были прилеплены в свою очередь ещё теги. Как это делается наименее
костыльно ?

mptt напрашивается, но случай не тот.

С уважением, Стас

livskiy

unread,
Jul 24, 2012, 2:19:44 PM7/24/12
to django-...@googlegroups.com
Думаю, что тут нужно исходить из того, какой уровень вложенности тегов ожидается?

25 июля 2012 г., 0:13 пользователь Stanislav Panasik <span...@gmail.com> написал:

Сергей Жиженко

unread,
Jul 24, 2012, 2:36:27 PM7/24/12
to django-...@googlegroups.com
Привет.

Странное требование – теги придумали чтобы избавиться от ограничений жесткой иерархии, а вы ее обратно вкрутить хотите :) Может подумайте получше, стоит ли?

2012/7/24 Stanislav Panasik <span...@gmail.com>



--
С уважением, Сергей Жиженко.

spanasik

unread,
Jul 24, 2012, 11:29:20 PM7/24/12
to django-...@googlegroups.com
Уровень вложенности пока 2
 
Странное требование – теги придумали чтобы избавиться от ограничений жесткой иерархии, а вы ее обратно вкрутить хотите :) Может подумайте получше, стоит ли?


Хочу не я,  к сожалению. Если бы это хотел я, то естественно отказался бы от такой идеи.

Потому и запостил сюда вопрос. Очевидно, что это случай "хочется странного", но тем не менее, в рассылке полно людей умнее меня, следовательно, есть ненулевой шанс, что подскажут наименее костыльный способ сделать это.

Прикидываю как это сделать, на ум приходят только костыли, а их я обычно не использую, ибо потом это дело разгребать хуже нету.

Иван Земцов

unread,
Jul 25, 2012, 12:15:30 AM7/25/12
to django-...@googlegroups.com
А для решения какой задачи такое нужно?

2012/7/25 spanasik <span...@gmail.com>



--
С уважением, Иван

livskiy

unread,
Jul 25, 2012, 12:24:55 AM7/25/12
to django-...@googlegroups.com
Как компромиссное решение, можно реализовать один уровень вложенности, т.е. обобщенные теги будут служить группой для более конкретизированных. Соответственно, решение - parent_id. И все. А более глубокое разветвление тегов - действительно, кажется странной затеей. Да, и такой вопрос. Ведь теги генерятся юзерами, как юзеры смогуть управлять группировкой тегов через простой интерфейс?

25 июля 2012 г., 10:15 пользователь Иван Земцов <inz...@gmail.com> написал:

spanasik

unread,
Jul 25, 2012, 1:04:43 AM7/25/12
to django-...@googlegroups.com

А для решения какой задачи такое нужно?

Типа вложенных рубрик на информационном сайте. Причём сразу от рубрик отказались в пользу тегов, а теперь захотелось вложенности.

spanasik

unread,
Jul 25, 2012, 1:06:55 AM7/25/12
to django-...@googlegroups.com
Как компромиссное решение, можно реализовать один уровень вложенности, т.е. обобщенные теги будут служить группой для более конкретизированных. Соответственно, решение - parent_id. И все. А более глубокое разветвление тегов - действительно, кажется странной затеей. Да, и такой вопрос. Ведь теги генерятся юзерами, как юзеры смогуть управлять группировкой тегов через простой интерфейс?

Не хотелось бы форкать django-taggit, чтобы добавить туда это, своё. Думал как-то через прокси-модель сделать, но изящного способа не могу придумать.

Юзеры естественно не смогут это делать через _простой_ интерфейс, ибо такой интерфейс непонятно что из себя должен представлять, имхо он невозможен.

livskiy

unread,
Jul 25, 2012, 1:15:29 AM7/25/12
to django-...@googlegroups.com
Типа вложенных рубрик на информационном сайте. Причём сразу от рубрик отказались в пользу тегов, а теперь захотелось вложенности.

Так получается за эти теги отвечает стафф сайта? В таком случае - рубрики вполне себе нормальное решение + возможность объекта принадлежать нескольким рубрикам.

Не хотелось бы форкать django-taggit, чтобы добавить туда это, своё. Думал как-то через прокси-модель сделать, но изящного способа не могу придумать.

Если вас устраивает принятое вами решение по реализации, форкните и забудьте об этом. Не стоит заморачиваться. Это ведь не reusable app, а конкретное решение под поставленную задачу.

25 июля 2012 г., 11:06 пользователь spanasik <span...@gmail.com> написал:

spanasik

unread,
Jul 25, 2012, 1:19:49 AM7/25/12
to django-...@googlegroups.com
Так получается за эти теги отвечает стафф сайта? В таком случае - рубрики вполне себе нормальное решение + возможность объекта принадлежать нескольким рубрикам.

От рубрик сразу осознанно отказались, т.к. они ограничивают функциональность, теги гораздо удобнее. Поэтому всё было сделано на тегах.
 
Не хотелось бы форкать django-taggit, чтобы добавить туда это, своё. Думал как-то через прокси-модель сделать, но изящного способа не могу придумать.

Если вас устраивает принятое вами решение по реализации, форкните и забудьте об этом. Не стоит заморачиваться. Это ведь не reusable app, а конкретное решение под поставленную задачу.

А потом через пару лет придётся в этом форке фиксить баги вручную, а не простым апдейтом с гитхаба и вспоминать что там было добавлено и зачем. Вот я тоже думаю, что не стоит заморачиваться.

livskiy

unread,
Jul 25, 2012, 1:23:29 AM7/25/12
to django-...@googlegroups.com
Если функционал будет итак работать, тогда вопрос - а нужен вообще этот мифический апдейт через два года? В любом случае, дело ваше, все остальное имхо.

25 июля 2012 г., 11:19 пользователь spanasik <span...@gmail.com> написал:

iddqd

unread,
Jul 25, 2012, 2:51:21 AM7/25/12
to django-...@googlegroups.com
теги к тегам и рубрики это одно и тоже, как говорится тот же х.. только с боку

среда, 25 июля 2012 г., 11:19:49 UTC+6 пользователь spanasik написал:

spanasik

unread,
Jul 25, 2012, 2:54:54 AM7/25/12
to django-...@googlegroups.com
теги к тегам и рубрики это одно и тоже, как говорится тот же х.. только с боку

Да, по всякому прокрутил в голове - и с наследованием от модели тега с добавлением поля, и с поддоменами. Оно так и так в сочетании с тегами получается полным дерьмом. Буду разубеждать людей в этом варианте.

Dmitry Agafonov

unread,
Jul 25, 2012, 3:37:31 AM7/25/12
to django-...@googlegroups.com
25 июля 2012 г., 10:54 пользователь spanasik <span...@gmail.com> написал:

Возможно, получится организовать нужное на уровне отображения информации?
В Gmail, например, папок нет, но они как бы есть :)

--
Dmitry Agafonov ~ http://agafonov.pp.ru/

Serge Matveenko

unread,
Jul 25, 2012, 4:08:15 AM7/25/12
to django-...@googlegroups.com
2012/7/25 spanasik <span...@gmail.com>:

>> Так получается за эти теги отвечает стафф сайта? В таком случае - рубрики
>> вполне себе нормальное решение + возможность объекта принадлежать нескольким
>> рубрикам.
>
> От рубрик сразу осознанно отказались, т.к. они ограничивают
> функциональность, теги гораздо удобнее. Поэтому всё было сделано на тегах.

А вы возьмите вложенные рубрики, разрешите одному объекту быть в
нескольких рубриках, а потом назовите это тегами и показывайте в
интерфейсе соответственно. Подозреваю, что это именно то, что вам
нужно. Как тут правильно сказали, теги, на самом деле - это такие
линейные рубрики, которые странно отображаются в интерфейсе;)


--
Serge Matveenko
se...@matveenko.ru
http://www.ohloh.net/accounts/lig
http://ru.linkedin.com/in/sergematveenko

Yuri Baburov

unread,
Jul 25, 2012, 10:57:48 AM7/25/12
to django-...@googlegroups.com
Привет,

имхо, "простой интерфейс" может быть сделан так, как в гугле был
когда-то -- через слеш пишется "категория/подкатегория".
Соответственно, получите обычное текстовое поле.
И в автодополнении можно прямо так и показывать, без изменений, через
слеш. Только чуть поиск докрутить, чтобы не по префиксу искал, скажем,
введенное "Кат" находило "двухуровневый" тег "Ближний восток/Катар",
итп.

2012/7/25 spanasik <span...@gmail.com>:

--
Best regards, Yuri V. Baburov, Skype: yuri.baburov, MSN: bu...@live.com

spanasik

unread,
Jul 25, 2012, 3:03:25 PM7/25/12
to django-...@googlegroups.com
Спасибо всем, убедил не ломать логику, теги значит теги.

Тем более, что действительно если есть необходимость в дереве, то это mptt, он и в админке нормально выглядит, а иначе костыли. А если костыли в коде, то они вылезают и для юзеров так или иначе. Имхо, лучше делать проще, простые вещи более юзабельные как показывает практика.

Sarutobi

unread,
Jul 25, 2012, 1:32:54 AM7/25/12
to django-...@googlegroups.com
А разместить у себя в коде модельку "Рубрика" со связью OneToOne или ManyToMany к тегам не выход? И теги не надо форкать и функционал который нужен появится....

25 июля 2012 г., 9:23 пользователь livskiy <liv...@gmail.com> написал:



--
Regards,
Valery A. Ilychev aka Sarutobi
Reply all
Reply to author
Forward
0 new messages