Как реализовать модули для повторного использования кода 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
...

но при этом код отвечающий за бизнес логику, был один.
Есть ли у вас какие нибудь идеи?
  • Вопрос задан
  • 2351 просмотр
Решения вопроса 1
@marazmiki
Укротитель питонов
По-моему, в Вашем случае generic relations - самое оно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы