Как реализовать модули для повторного использования кода Python/Django?
Здравствуйте, помогите пожалуйста разобраться.
Пишу приложение ради интереса и практики, не большая социальная сеть на Python 3.4 - Django 1.7
Как всегда и везде в соц. сетях есть:
Страница пользователя:
-- Фотографии
-- Видеозаписи
-- Стена с комментариями
Сообщества:
-- Фотографии
-- Видеозаписи
-- Стена с комментариями
-- Обсуждения, где есть вопрос а ответы на них в виде комментариев
У фотографий есть свои комментарии, у видео свои комментарии
Например функционал фотографий - добавление/удаление/редактирование/вывод - везде одинаковый что на странице пользователя, что в сообществе
Так же у всех комментариев один и тот же функционал.
Конечно, можно создать на все комментарии, фото, видео по 1 таблице где будут поля item_id и app_label,
item_id - идентификатор принадлежащей записи
app_label - приложение к которому принадлежит запись
сделать для каждого приложения view - добавление/удаление итд.. которые будут принимать item_id и app_label использовать их везде.
Этот вариант я думаю будет немного не правильным так как слишком сильно будут засорятся таблицы.
Хотелось бы, что бы на каждое приложение были свои таблицы в бд, например:
user_page_comments
user_photo_comments
user_video_comments
community_comments
community_photo_comments
...
но при этом код отвечающий за бизнес логику, был один.
Есть ли у вас какие нибудь идеи?