mirror of
https://github.com/pretix/pretix.git
synced 2026-05-12 16:24:00 +00:00
Fix migration for large databases
This commit is contained in:
@@ -10,7 +10,7 @@ def set_default_tax_rate(app, schema_editor):
|
|||||||
TaxRule = app.get_model('pretixbase', 'TaxRule')
|
TaxRule = app.get_model('pretixbase', 'TaxRule')
|
||||||
|
|
||||||
# Handling of events with tax_rate_default set
|
# Handling of events with tax_rate_default set
|
||||||
for s in Event_SettingsStore.objects.filter(key="tax_rate_default"):
|
for s in Event_SettingsStore.objects.filter(key="tax_rate_default").iterator():
|
||||||
updated = TaxRule.objects.filter(pk=s.value, event_id=s.object_id).update(default=True)
|
updated = TaxRule.objects.filter(pk=s.value, event_id=s.object_id).update(default=True)
|
||||||
if updated:
|
if updated:
|
||||||
# Delete deprecated settings key
|
# Delete deprecated settings key
|
||||||
@@ -29,7 +29,7 @@ def set_default_tax_rate(app, schema_editor):
|
|||||||
cache.delete('hierarkey_{}_{}'.format('event', s.object_id))
|
cache.delete('hierarkey_{}_{}'.format('event', s.object_id))
|
||||||
|
|
||||||
# Handling of events with tax_rate_default not set
|
# Handling of events with tax_rate_default not set
|
||||||
for e in Event.objects.only("pk").exclude(Exists(TaxRule.objects.filter(default=True, event_id=OuterRef("pk")))):
|
for e in Event.objects.only("pk").exclude(Exists(TaxRule.objects.filter(default=True, event_id=OuterRef("pk")))).iterator():
|
||||||
fav_tax_rules = e.tax_rules.annotate(c=Count("item")).order_by("-c", "pk")[:1]
|
fav_tax_rules = e.tax_rules.annotate(c=Count("item")).order_by("-c", "pk")[:1]
|
||||||
if fav_tax_rules:
|
if fav_tax_rules:
|
||||||
fav_tax_rules[0].default = True
|
fav_tax_rules[0].default = True
|
||||||
|
|||||||
Reference in New Issue
Block a user