fix: populate rfc_number on DocHistory with type_id rfc
This commit is contained in:
parent
e0e647fa75
commit
a39a058a01
|
@ -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):
|
||||
|
|
Loading…
Reference in a new issue