Как лучше сделать модель истории в Django?

Привет!
Бекграунд: небольшой сервис на django парсит ресурсы, получает объекты, которые нужно отфильтровывать по разным критериям, последовательно, оставляя только подходящие. Ресурсов много, объектов на ресурсах много, критериев (фильтров) около 5-7.
Задача: захотелось вести детальный лог (а не просто в файле filter.log), чтобы можно было анализировать, по каким фильтрам в каких ресурсах чаще всего информация отфильтровывается и как часто.
Для этого была создана простая моделька:
class FilterHistory(models.Model):
    created_at = models.DateTimeField(auto_now_add=True, editable=False)
    source = models.ForeignKey(Source, on_delete=models.CASCADE, related_name='history')
    filter_name = models.CharField(max_length=100, default='unknown')
    filtered_number = models.IntegerField()

И после всей фильтрации по каждому фильтру сохранялась информация.
Проблема: анализировать трудно такое, так как не сохраняется изначальное количество объектов и не учитывается в логах (только по времени) порядок фильтров. Особенно в django admin. Я не могу придумать с ходу хорошее решение, чтобы оно удовлетворяло требованиям.
Я подумал, что должна быть ещё одна модель, которая содержит основную информацию по сессии фильтрации, связанная с моделями отдельных фильтров (one-to-many). Типа: History -> HistoryItems
Помогите, пожалуйста, ответить на вопрос: не делаю ли я велосипед и правильно ли подхожу к решению?
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы