Seed: grade 3 rebuilt (every lesson 5+ questions, wrong figures/lesson text fixed), Persian digits and plain fractions across all grades, apply_fixups gains lesson/question_set, ledger save chunked for SQLite
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -57,7 +57,11 @@ class _Ledger:
|
||||
self.write[key] = (kind, value)
|
||||
|
||||
def save(self) -> None:
|
||||
existing = set(SeedRecord.objects.filter(key__in=list(self.write)).values_list('key', flat=True))
|
||||
# دستهدسته: SQLite بیش از ۳۲٬۷۶۶ متغیر در یک پرسوجو نمیپذیرد و دفترِ یک seedِ تازه از آن بیشتر است.
|
||||
keys = list(self.write)
|
||||
existing = set()
|
||||
for i in range(0, len(keys), 500):
|
||||
existing.update(SeedRecord.objects.filter(key__in=keys[i:i + 500]).values_list('key', flat=True))
|
||||
SeedRecord.objects.bulk_create([
|
||||
SeedRecord(key=k, kind=kind, value=value)
|
||||
for k, (kind, value) in self.write.items() if k not in existing
|
||||
|
||||
Reference in New Issue
Block a user