diff --git a/.isort.cfg b/.isort.cfg
index 340422d3f105d7b81db8953287dfc01b98d2ff0f..2f6cd78cd74f366eeb3e0935312c81f2b9d25fc8 100644
--- a/.isort.cfg
+++ b/.isort.cfg
@@ -3,4 +3,4 @@
 line_length = 88
 multi_line_output = 3
 include_trailing_comma = true
-known_third_party = PyPDF2,arrow,bleach,bs4,captcha,celery,django,environ,faker,fastjsonschema,icalevnt,markdown,modelcluster,pirates,pytest,pytz,requests,sentry_sdk,taggit,tweepy,wagtail,wagtailmetadata,weasyprint,yaml
+known_third_party = PyPDF2,arrow,bleach,bs4,captcha,celery,dateutil,django,environ,faker,fastjsonschema,icalevnt,markdown,modelcluster,pirates,pytest,pytz,requests,sentry_sdk,taggit,tweepy,wagtail,wagtailmetadata,weasyprint,yaml
diff --git a/main/models.py b/main/models.py
index d2c6fd97b0c733b0428b0c7b1401995bdfe3e3d7..5a4d1708da4a24fe1f2a2c871bbe569d10ee6e62 100644
--- a/main/models.py
+++ b/main/models.py
@@ -1,6 +1,7 @@
 from datetime import timedelta
 from functools import cached_property
 
+from dateutil.relativedelta import relativedelta
 from django.conf import settings
 from django.core.paginator import Paginator
 from django.db import models
@@ -333,15 +334,21 @@ class MainArticlesPage(
     class Meta:
         verbose_name = "Rozcestník článků"
 
-    def get_article_data_list(self, month_back):
-        first_day_of_last_month = None
-        last_month = timezone.now().today()
-        for x in range(month_back):
-            last_month = last_month.replace(day=1) - timedelta(days=1)
-            first_day_of_last_month = last_month.replace(day=1)
+    def get_article_data_list(self, months_back: int = 1):
+        target_date_list = (
+            MainArticlePage.objects.filter(article_type=ARTICLE_TYPES.WORK_TIMELINE)
+            .order_by("-date")
+            .values_list("date", flat=True)
+        )
+
+        if not target_date_list:
+            return [self.get_empty_month_data(timezone.now().date())]
+
+        target_date = target_date_list[0] - relativedelta(months=months_back)
+        first_day_of_target_month = target_date.replace(day=1)
 
         sorted_article_qs = MainArticlePage.objects.filter(
-            date__gt=first_day_of_last_month, article_type=ARTICLE_TYPES.WORK_TIMELINE
+            date__gt=first_day_of_target_month, article_type=ARTICLE_TYPES.WORK_TIMELINE
         ).order_by("-date")
 
         article_data_list = []
@@ -365,16 +372,21 @@ class MainArticlesPage(
 
     def get_context(self, request, *args, **kwargs):
         ctx = super().get_context(request, args, kwargs)
+
         article_timeline_list = self.get_article_data_list(1)
         ctx["article_timeline_list"] = article_timeline_list
         ctx["show_next_timeline_articles"] = MainArticlePage.objects.filter(
             article_type=ARTICLE_TYPES.WORK_TIMELINE
         ).count() > len(article_timeline_list)
+
         article_list = MainArticlePage.objects.filter(
             article_type=ARTICLE_TYPES.PRESS_RELEASE
-        ).order_by("-date")
+        ).order_by("-date")[
+            :11
+        ]  # dám LIMIT +1, abych věděl, jestli má cenu show_next
         ctx["article_article_list"] = article_list[:10]
-        ctx["show_next_article"] = len(article_list) > 4
+        ctx["show_next_article"] = len(article_list) > 10
+
         return ctx
 
     def get_timeline_articles_response(self, request):