Merge pull request #6328 from rjsparks/dochistory_rfcnumber

fix: populate rfc_number on DocHistory with type_id rfc
This commit is contained in:
Jennifer Richards 2023-09-15 20:41:43 -03:00 committed by GitHub
commit f15960d32d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -8,6 +8,7 @@ from django.db.models import Subquery, OuterRef, F
def forward(apps, schema_editor):
DocHistory = apps.get_model("doc", "DocHistory")
RelatedDocument = apps.get_model("doc", "RelatedDocument")
Document = apps.get_model("doc", "Document")
DocHistory.objects.filter(type_id="draft", doc__type_id="rfc").update(type_id="rfc")
DocHistory.objects.filter(
type_id="draft", doc__type_id="draft", name__startswith="rfc"
@ -20,9 +21,19 @@ def forward(apps, schema_editor):
).update(
doc_id=F("rfc_id"), type_id="rfc"
)
DocHistory.objects.filter(type_id="rfc").annotate(
rfcno=Subquery(
Document.objects.filter(pk=OuterRef("doc_id")).values_list(
"rfc_number", flat=True
)[:1]
)
).update(rfc_number=F("rfcno"))
assert not DocHistory.objects.filter(
name__startswith="rfc", type_id="draft"
).exists()
assert not DocHistory.objects.filter(
type_id="rfc", rfc_number__isnull=True
).exists()
class Migration(migrations.Migration):