Merge branch 'main' into storefront-next

This commit is contained in:
Egor Pavlovich Gorbunov 2025-07-01 00:37:57 +03:00
commit ba90b98455
4 changed files with 25 additions and 9 deletions

5
.gitignore vendored
View file

@ -64,8 +64,9 @@ htmlcov/
.pybuilder/ .pybuilder/
# Storefronts # Storefronts
nuxt/ .nuxt/
next/ .next/
next-env.d.ts
# Celery # Celery
celerybeat-schedule celerybeat-schedule

View file

@ -245,7 +245,7 @@ class ProductAdmin(FieldsetsMixin, BasicModelAdmin):
("brand", DALFRelatedFieldAjax), ("brand", DALFRelatedFieldAjax),
("category", DALFRelatedFieldAjax), ("category", DALFRelatedFieldAjax),
("tags", DALFRelatedFieldAjax), ("tags", DALFRelatedFieldAjax),
("stocks__vendor", DALFRelatedFieldAjax), ("stocks__vendor", DALFRelatedOnlyField),
"created", "created",
"modified", "modified",
) )

View file

@ -57,10 +57,26 @@ sitemaps = {
urlpatterns = [ urlpatterns = [
path("core/", include(core_router.urls)), path("core/", include(core_router.urls)),
path( path(
"sitemap.xml", sitemap_index, {"sitemaps": sitemaps, "sitemap_url_name": "sitemap-detail"}, name="sitemap-index" "sitemap.xml",
sitemap_index,
{
"sitemaps": sitemaps,
"sitemap_url_name": "core:sitemap-detail",
},
name="sitemap-index",
),
path(
"sitemap-<section>.xml",
sitemap_detail,
{"sitemaps": sitemaps},
name="sitemap-detail",
),
path(
"sitemap-<section>-<int:page>.xml",
sitemap_detail,
{"sitemaps": sitemaps},
name="sitemap-detail",
), ),
path("sitemap-<section>.xml", sitemap_detail, {"sitemaps": sitemaps}, name="sitemap-detail"),
path("sitemap-<section>-<int:page>.xml", sitemap_detail, {"sitemaps": sitemaps}, name="sitemap-detail"),
path("download/<str:order_product_uuid>/", download_digital_asset_view, name="download_digital_asset"), path("download/<str:order_product_uuid>/", download_digital_asset_view, name="download_digital_asset"),
path("search/", GlobalSearchView.as_view(), name="global_search"), path("search/", GlobalSearchView.as_view(), name="global_search"),
path("app/cache/", CacheOperatorView.as_view(), name="cache_operator"), path("app/cache/", CacheOperatorView.as_view(), name="cache_operator"),

View file

@ -5,15 +5,14 @@ from core.models import Product
CHUNK_SIZE = 5000 CHUNK_SIZE = 5000
class Command(BaseCommand): class Command(BaseCommand):
help = "Delete Product rows with no OrderProduct, in batches" help = "Delete Product rows with no OrderProduct, in batches"
def handle(self, *args, **options): def handle(self, *args, **options):
while True: while True:
batch_ids = list( batch_ids = list(
Product.objects Product.objects.filter(orderproduct__isnull=True).values_list("pk", flat=True)[:CHUNK_SIZE]
.filter(orderproduct__isnull=True)
.values_list('pk', flat=True)[:CHUNK_SIZE]
) )
if not batch_ids: if not batch_ids:
break break