diff --git a/main/migrations/0007_mainarticlepage_region_and_more.py b/main/migrations/0007_mainarticlepage_region_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..c024043204d194c0c1e8186a02197c458695713d
--- /dev/null
+++ b/main/migrations/0007_mainarticlepage_region_and_more.py
@@ -0,0 +1,51 @@
+# Generated by Django 4.0.7 on 2022-08-23 10:07
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("main", "0006_mainpersonpage_after_name_mainpersonpage_before_name_and_more"),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name="mainarticlepage",
+            name="region",
+            field=models.IntegerField(
+                blank=True,
+                choices=[
+                    ("PHA", "Hlavní město Praha"),
+                    ("JHC", "Jihočeský kraj"),
+                    ("JHM", "Jihomoravský kraj"),
+                    ("KVK", "Karlovarský kraj"),
+                    ("VYS", "Kraj Vysočina"),
+                    ("KHK", "Královéhradecký kraj"),
+                    ("LBK", "Liberecký kraj"),
+                    ("MSK", "Moravskoslezský kraj"),
+                    ("OLK", "Olomoucký kraj"),
+                    ("PAK", "Pardubický kraj"),
+                    ("PLK", "Plzeňský kraj"),
+                    ("STC", "Středočeský kraj"),
+                    ("ULK", "Ústecký kraj"),
+                    ("ZLK", "Zlínský kraj"),
+                ],
+                help_text="Kraj, ke kterému se článek vztahuje",
+                null=True,
+                verbose_name="Kraj",
+            ),
+        ),
+        migrations.AlterField(
+            model_name="mainarticlepage",
+            name="author_page",
+            field=models.ForeignKey(
+                blank=True,
+                null=True,
+                on_delete=django.db.models.deletion.SET_NULL,
+                to="main.mainpersonpage",
+                verbose_name="Stránka autora (osoby)",
+            ),
+        ),
+    ]
diff --git a/main/models.py b/main/models.py
index 1b9813531ee7c1b34124a05b93c5f1d60a52eb87..10203ade5ae44ed229e4b7f25bde3eaa91bc6504 100644
--- a/main/models.py
+++ b/main/models.py
@@ -15,6 +15,7 @@ from wagtail.core.fields import RichTextField, StreamField
 from wagtail.core.models import Page
 from wagtailmetadata.models import MetadataPageMixin
 
+from elections2021.constants import REGION_CHOICES  # pozor, import ze sousedního modulu
 from shared.const import RICH_TEXT_DEFAULT_FEATURES
 from shared.forms import SubscribeForm
 from shared.models import (
@@ -26,9 +27,9 @@ from shared.models import (
 )
 from shared.utils import make_promote_panels, subscribe_to_newsletter
 from tuning import admin_help
+from twitter_utils.models import Tweet
 
 from . import blocks
-from twitter_utils.models import Tweet
 
 
 class MainHomePage(MenuMixin, ExtendedMetadataHomePageMixin, MetadataPageMixin, Page):
@@ -172,7 +173,14 @@ class MainHomePage(MenuMixin, ExtendedMetadataHomePageMixin, MetadataPageMixin,
 class MainWorkPage(ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, Page):
     perex = models.TextField()
     timeline = StreamField(
-        [("article_list", PageChooserBlock(page_type="main.MainArticlePage", label="Vybrat aktualitu"))],
+        [
+            (
+                "article_list",
+                PageChooserBlock(
+                    page_type="main.MainArticlePage", label="Vybrat aktualitu"
+                ),
+            )
+        ],
         verbose_name="Timeline",
         blank=True,
     )
@@ -183,10 +191,7 @@ class MainWorkPage(ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, P
     subpage_types = []
 
     ### PANELS
-    content_panels = Page.content_panels + [
-        FieldPanel('perex'),
-        FieldPanel('timeline')
-    ]
+    content_panels = Page.content_panels + [FieldPanel("perex"), FieldPanel("timeline")]
 
     ### OTHERS
 
@@ -205,7 +210,18 @@ class MainArticlePage(
     ### FIELDS
 
     author_page = models.ForeignKey(
-        "main.MainPersonPage", on_delete=models.SET_NULL, null=True, blank=True
+        "main.MainPersonPage",
+        on_delete=models.SET_NULL,
+        null=True,
+        blank=True,
+        verbose_name="Stránka autora (osoby)",
+    )
+    region = models.IntegerField(
+        choices=REGION_CHOICES,
+        null=True,
+        blank=True,
+        verbose_name="Kraj",
+        help_text="Kraj, ke kterému se článek vztahuje",
     )
     tags = ClusterTaggableManager(through=MainArticleTag, blank=True)
 
@@ -335,13 +351,24 @@ class MainPeoplePage(ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin,
 class MainPersonPage(ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, Page):
 
     ### FIELDS
-    before_name = models.CharField("Tituly před jménem", max_length=16, blank=True, null=True)
-    after_name = models.CharField("Tituly za jménem", max_length=16, blank=True, null=True)
-    position = models.CharField("Pozice/povolání", max_length=128, blank=True, null=True)
+    before_name = models.CharField(
+        "Tituly před jménem", max_length=16, blank=True, null=True
+    )
+    after_name = models.CharField(
+        "Tituly za jménem", max_length=16, blank=True, null=True
+    )
+    position = models.CharField(
+        "Pozice/povolání", max_length=128, blank=True, null=True
+    )
     perex = models.TextField()
     text = RichTextField()
 
-    twitter_username = models.CharField("Uživatelské jméno twitter pro získání příspěvků", blank=True, null=True, max_length=32)
+    twitter_username = models.CharField(
+        "Uživatelské jméno twitter pro získání příspěvků",
+        blank=True,
+        null=True,
+        max_length=32,
+    )
 
     email = models.CharField("E-mail", max_length=128, blank=True, null=True)
     phone = models.CharField("Telefonní kontakt", max_length=16, blank=True, null=True)
@@ -359,23 +386,27 @@ class MainPersonPage(ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin,
 
     ### PANELS
     content_panels = Page.content_panels + [
-        FieldPanel('before_name'),
-        FieldPanel('after_name'),
-        FieldPanel('position'),
-        FieldPanel('perex'),
-        FieldPanel('twitter_username'),
-        FieldPanel('text'),
-        FieldPanel('email'),
-        FieldPanel('phone'),
-        FieldPanel('facebook'),
-        FieldPanel('twitter'),
-        FieldPanel('instagram'),
+        FieldPanel("before_name"),
+        FieldPanel("after_name"),
+        FieldPanel("position"),
+        FieldPanel("perex"),
+        FieldPanel("twitter_username"),
+        FieldPanel("text"),
+        FieldPanel("email"),
+        FieldPanel("phone"),
+        FieldPanel("facebook"),
+        FieldPanel("twitter"),
+        FieldPanel("instagram"),
     ]
 
     def get_context(self, request):
         context = super(MainPersonPage, self).get_context(request)
-        context['article_page_list'] = MainArticlePage.objects.filter(author_page=self.id)
-        context['tweet_list'] = Tweet.objects.filter(author_username=self.twitter_username)
+        context["article_page_list"] = MainArticlePage.objects.filter(
+            author_page=self.id
+        )
+        context["tweet_list"] = Tweet.objects.filter(
+            author_username=self.twitter_username
+        )
         return context
 
     ### OTHERS