import os, sys, django, csv from django.db import IntegrityError sys.path.append("../") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") django.setup() from library.models import Tags, ArticleSection, Article if __name__ == '__main__': with open('./article/tags.csv') as article_csv: article_reader = csv.DictReader(article_csv) for row in article_reader: Tags.objects.get_or_create(**row) with open('./article/section.csv') as article_csv: article_reader = csv.DictReader(article_csv) for row in article_reader: ArticleSection.objects.get_or_create(**row) with open('./article/articles.csv') as article_csv: article_reader = csv.DictReader(article_csv) for row in article_reader: row = dict(row) tags = row.pop('tags', None).split("[")[1].split("]")[0].split(", ") article, _is_create = Article.objects.get_or_create(**row) try: for tag in tags: if tags: article.teachers.add(tags) except IntegrityError: pass