I recently had to migrate django.contrib.comments from a legacy app to a newer app, also in Django. I only wanted to move relevant comments that were unflagged (no need to duplicate spam!)
Here’s how I did it (manage.py shell usage):
from django.contrib.comments.models import Comment from django.db.models import Count from legacy.models import LegacyArticle las = LegacyArticle.objects.all_published() for la in las: comments = Comment.objects.for_model(LegacyArticle).annotate(flagcount=Count('flags')).filter(object_pk=la.pk, flagcount=0) # handler code... |