def save_issues()

in backend/code_review_backend/issues/management/commands/load_issues.py [0:0]


    def save_issues(self, diff, issues):
        # Remove all issues from diff
        diff.issues.all().delete()

        # Build all issues for that diff, in a single DB call
        created_issues = [
            Issue.objects.get_or_create(
                hash=i["hash"],
                defaults={
                    "path": i["path"],
                    "level": i.get("level", "warning"),
                    "analyzer_check": i.get("kind") or i.get("check"),
                    "message": i.get("message"),
                    "analyzer": i["analyzer"],
                },
            )
            for i in issues
            if i["hash"]
        ]

        IssueLink.objects.bulk_create(
            [
                IssueLink(
                    issue=issue_db,
                    diff=diff,
                    revision_id=diff.revision_id,
                    new_for_revision=detect_new_for_revision(
                        diff, path=issue_db.path, hash=issue_db.hash
                    ),
                    line=issue_src["line"],
                    nb_lines=issue_src.get("nb_lines", 1),
                    char=issue_src.get("char"),
                )
                for (issue_db, _), issue_src in zip(created_issues, issues)
            ],
            ignore_conflicts=True,
        )
        return created_issues