Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions clean_duplicate_doi.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from api_app.models import Change
from data_models.models import DOI, Campaign

created_dois_drafts = Change.objects.of_type(DOI).filter(status=0)
published_campaign_uuids = [str(uuid) for uuid in Campaign.objects.values_list("uuid", flat=True)]
dois_to_delete = []
for doi in created_dois_drafts:
if any(uuid in doi.update.get('campaigns', []) for uuid in published_campaign_uuids):
dois_to_delete.append(doi)

for doi in dois_to_delete:
doi.delete()