请问Django可以直接在models.py里面用orm删除数据吗?

请问Django可以直接在models.py里面用orm删除数据吗?
以下是我的models.py的代码:

img

我想要测试删除所有数据的代码,即第13行。为了确保表中存在数据,我先新建了数据,即第11行。第11行的代码是没有问题的,单独运行它能新建出数据。
我在pycharm的终端里输入"python manage.py makemigrations",然后会报错,如下:

img

请问如何解决这个问题呢?还是说如果我想要在models.py里删除数据,我只能通过如下途径:
1、必须写一个类,然后在类里写上delete(self)之类的代码,最后再在models.py的底下调用它。
2、在views.py里定义函数并在函数里执行UserInfo.objects.all().delete()的代码。然后打开相应路径的浏览器从而调用views.py的函数。

是的,Django的ORM(对象关系映射)可以直接在models.py文件中用来删除数据。你可以在models.py文件中的相应模型类中定义一个方法,使用ORM的delete()方法删除数据

报错这个错误通常在Django项目中出现,表示在尝试加载模型之前,Django的应用程序注册表还没有准备好。

要解决这个问题,可以在models.py中的代码之外的地方执行删除操作。你可以在views.py中定义一个函数,然后在该函数中执行UserInfo.objects.all().delete()的代码。然后通过访问相应路径的浏览器来调用该函数。
在views.py

from .models import UserInfo

def delete_user_info(request):
    UserInfo.objects.all().delete()
    return HttpResponse("数据删除成功")

然后在urls.py中将该函数与相应的URL路径进行关联:

from django.urls import path
from . import views

urlpatterns = [
    path('delete_user_info/', views.delete_user_info, name='delete_user_info'),
]