diff --git a/shared/models.py b/shared/models.py
index d1e12c9c934263541b3b5d9b1c6ac4400faf8415..3383c1d4f1b2cef2bc57cddb6cf60e3c52abbd85 100644
--- a/shared/models.py
+++ b/shared/models.py
@@ -296,8 +296,8 @@ class ArticlesMixin(models.Model):
 
         fields_reducer = (
             lambda assigned, field: assigned
-            if field.name is "shared"
-            else assigned | {f"union_{field.name}": F(field.name)}
+            if field.column == "shared"
+            else assigned | {f"union_{field.column}": F(field.column)}
         )
         setup_fields_order = lambda orderBy, orderFrom: reduce(
             lambda orderTo, field: orderTo | {f"{field}": orderFrom[field]},
@@ -306,7 +306,7 @@ class ArticlesMixin(models.Model):
         )
 
         main_fields = reduce(fields_reducer, main_meta_fields, {}) | {
-            "union_thumb_image": F("search_image"),
+            "union_thumb_image_id": F("search_image_id"),
         }
 
         district_fields = setup_fields_order(
@@ -322,7 +322,7 @@ class ArticlesMixin(models.Model):
             main_fields,
             reduce(fields_reducer, uniweb_meta_fields, {})
             | {
-                "union_author_page": Value(
+                "union_author_page_id": Value(
                     None,
                     output_field=models.ForeignKey(
                         DistrictArticlePage, blank=True, on_delete=models.SET_NULL
@@ -331,7 +331,7 @@ class ArticlesMixin(models.Model):
                 "union_region": Value("", models.CharField()),
                 "union_article_type": Value(0, models.PositiveSmallIntegerField()),
                 "union_is_black": Value(False, models.BooleanField()),
-                "union_thumb_image": F("search_image"),
+                "union_thumb_image_id": F("search_image_id"),
             },
         )
 
@@ -420,13 +420,13 @@ class ArticlesMixin(models.Model):
         )  # We MUST eval here since we can't turn values() into concrete class instances in QuerySet after union
 
         assign_to_model = lambda unioned: lambda assignment, field: assignment | {
-            field.name: unioned[f"union_{field.name}"]
+            field.column: unioned[f"union_{field.column}"]
         }
 
         if isinstance(self, DistrictArticlesPage):
             return list(
                 map(
-                    lambda unioned: DistrictArticlePage.objects.create(
+                    lambda unioned: DistrictArticlePage(
                         **reduce(assign_to_model(unioned), district_meta_fields, {})
                     ),
                     evaluated,