Skip to content
Snippets Groups Projects
Verified Commit e6480fbc authored by jindra12's avatar jindra12
Browse files

Best try with shared mapped by values

parent fe6e0392
Branches
No related tags found
2 merge requests!816Release,!801Prepare basic shared tags
...@@ -290,53 +290,56 @@ class ArticlesMixin(models.Model): ...@@ -290,53 +290,56 @@ class ArticlesMixin(models.Model):
""" """
main_fields = { main_fields = {
"page_ptr_id": F("page_ptr_id"), "union_id": F("id"),
"perex": F("perex"), "union_page_ptr_id": F("page_ptr_id"),
"date": F("date"), "union_perex": F("perex"),
"author": F("author"), "union_date": F("date"),
"image_id": F("image_id"), "union_author": F("author"),
"search_image_id": F("search_image_id"), "union_image_id": F("image_id"),
"content": F("content"), "union_search_image_id": F("search_image_id"),
"author_page_id": F("author_page_id"), "union_content": F("content"),
"region": F("region"), "union_author_page_id": F("author_page_id"),
"article_type": F("article_type"), "union_region": F("region"),
"is_black": F("is_black"), "union_article_type": F("article_type"),
"thumb_image_id": F("search_image_id"), "union_is_black": F("is_black"),
"union_thumb_image_id": F("search_image_id"),
} }
district_fields = { district_fields = {
"page_ptr_id": F("page_ptr_id"), "union_id": F("id"),
"perex": F("perex"), "union_page_ptr_id": F("page_ptr_id"),
"date": F("date"), "union_perex": F("perex"),
"author": F("author"), "union_date": F("date"),
"image_id": F("image_id"), "union_author": F("author"),
"search_image_id": F("search_image_id"), "union_image_id": F("image_id"),
"content": F("content"), "union_search_image_id": F("search_image_id"),
"author_page_id": F("author_page_id"), "union_content": F("content"),
"region": Value("", models.CharField()), "union_author_page_id": F("author_page_id"),
"article_type": Value(0, models.PositiveSmallIntegerField()), "union_region": Value("", models.CharField()),
"is_black": F("is_black"), "union_article_type": Value(0, models.PositiveSmallIntegerField()),
"thumb_image_id": F("thumb_image_id"), "union_is_black": F("is_black"),
"union_thumb_image_id": F("thumb_image_id"),
} }
uniweb_fields = { uniweb_fields = {
"page_ptr_id": F("page_ptr_id"), "union_id": F("id"),
"perex": F("perex"), "union_page_ptr_id": F("page_ptr_id"),
"date": F("date"), "union_perex": F("perex"),
"author": F("author"), "union_date": F("date"),
"image_id": F("image_id"), "union_author": F("author"),
"search_image_id": F("search_image_id"), "union_image_id": F("image_id"),
"content": F("content"), "union_search_image_id": F("search_image_id"),
"author_page_id": Value( "union_content": F("content"),
"union_author_page_id": Value(
None, None,
output_field=models.ForeignKey( output_field=models.ForeignKey(
DistrictArticlePage, blank=True, on_delete=models.SET_NULL DistrictArticlePage, blank=True, on_delete=models.SET_NULL
), ),
), ),
"region": Value("", models.CharField()), "union_region": Value("", models.CharField()),
"article_type": Value(0, models.PositiveSmallIntegerField()), "union_article_type": Value(0, models.PositiveSmallIntegerField()),
"is_black": Value(False, models.BooleanField()), "union_is_black": Value(False, models.BooleanField()),
"thumb_image_id": F("search_image_id"), "union_thumb_image_id": F("search_image_id"),
} }
districtArticleQuery: models.QuerySet = DistrictArticlePage.objects districtArticleQuery: models.QuerySet = DistrictArticlePage.objects
...@@ -416,11 +419,33 @@ class ArticlesMixin(models.Model): ...@@ -416,11 +419,33 @@ class ArticlesMixin(models.Model):
results = results.union(prepared_query) results = results.union(prepared_query)
results = results.order_by("date") results = results.order_by("union_date")
print(results.query) evaluated = list(results)
return results mapped_to_real_values = list(
map(
lambda unioned: {
"id": unioned["union_id"],
"page_ptr_id": unioned["union_page_ptr_id"],
"perex": unioned["union_perex"],
"date": unioned["union_date"],
"author": unioned["union_author"],
"image_id": unioned["union_image_id"],
"search_image_id": unioned["union_search_image_id"],
"content": unioned["union_content"],
"author_page_id": unioned["union_author_page_id"],
"region": unioned["union_author_page_id"],
"article_type": unioned["union_article_type"],
"is_black": unioned["union_is_black"],
"thumb_image_id": unioned["union_thumb_image_id"],
"shared": unioned["shared"],
},
evaluated,
)
)
return mapped_to_real_values
def get_article_page_by_slug(self, slug: str): def get_article_page_by_slug(self, slug: str):
articles = self.append_all_shared_articles() articles = self.append_all_shared_articles()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment