Django Удалить поле "многие ко многим

У меня есть 2 модели User, которая является auth_user в Django, и HostCourse, которая имеет отношения "многие ко многим" с User

class HostCourse(TimeStamped, models.Model):
    created_by = models.ManyToManyField(User, blank=True)
    ...

Когда я удаляю некоторые данные из HostCourse, возникает следующая ошибка:

ERROR: update or delete on table "courses_hostcourse" violates foreign key constraint "courses_hostcourse_c_hostcourse_id_ec1070c3_fk_courses_h" on table "courses_hostcourse_created_by"

Если я включу on_delete=models.CASCASE, удалит ли он также пользователей соответствующего HostCourse? Если да, то как я могу найти обходной путь, чтобы удалялись курсы, а не пользователи?

Обычно вы делаете это в оболочке python следующим образом:

./manage.py shell
>>> HostCourse.objects.all().delete()

ManyToManyField создает новую таблицу, поэтому сначала нужно удалить все объекты в ней. Пользователи не будут удалены В db_shell вы должны сделать:

delete from courses_hostcourse_created_by;
delete from courses_hostcourse;
Вернуться на верх