jango.db.utils.operationalerror: (1091, "can't drop 'submit_time'; check tha灬3092灬1
时间: 2023-09-09 12:01:43 浏览: 45
这个错误是由于在数据库中存在一个' submit_time' 列无法删除导致的。我们可以通过以下步骤解决这个问题:
1. 首先,我们需要检查一下数据库中是否确实存在一个名为 'submit_time' 的列。可以通过查询数据库表结构的方式来确认。例如,可以使用以下命令查看数据库中的表结构:
```
DESCRIBE table_name;
```
将 'table_name' 替换为你要查询的表的名称。
2. 如果确实存在名为 'submit_time' 的列,那么我们需要检查是否存在与该列相关的约束或外键。因为无法删除一个有约束或外键关联的列。
```
SHOW CREATE TABLE table_name;
```
将 'table_name' 替换为你要查询的表的名称。
从输出中找到包含 'submit_time' 列的相关约束或外键,然后将其删除。
3. 删除与 'submit_time' 列相关的约束或外键后,你应该可以成功地删除该列了。使用以下命令删除该列:
```
ALTER TABLE table_name DROP COLUMN submit_time;
```
将 'table_name' 替换为你要操作的表的名称。
通过执行以上步骤,你应该能够成功解决 'jango.db.utils.operationalerror: (1091, "can't drop 'submit_time'; check that column/key exists")' 这个问题。
相关问题
后端是class LoginView(APIView): http_method_names = ['post'] def post(self, request): data = request.data username = data.username password = data.password print(data) user = authenticate(username=username, password=password) if user: login(request, user) return Response({'message': '登录成功'}, status=status.HTTP_200_OK) else: 返回 Response({'message': '用户名或密码错误'}, status=status.HTTP_401_UNAUTHORIZED)前端是uni.request({ url: 'http://127.0.0.1:8000/login/', type: 'POST', data: { username: '云叶瑶', password: '741894660', }, ;d jango报错405
这个错误一般是由于请求方法不匹配导致的。根据你提供的后端代码,这个视图只接受 POST 请求,因此你需要在前端代码中将请求类型改为 POST,例如:
```
uni.request({
url: 'http://127.0.0.1:8000/login/',
method: 'POST',
data: {
username: '云叶瑶',
password: '741894660',
},
success: function(res) {
console.log(res.data);
}
});
```
这样应该就可以成功发送 POST 请求了。如果还有问题,请提供更详细的报错信息和前端代码。
jango 知识库:reverse()路由解析
Django 的 reverse() 函数是一个 URL 解析器,用于在 Django 应用中通过视图名字或 URL 模式的名字来生成 URL。它可以帮助你避免在代码中硬编码 URL,提高代码的可维护性。使用方法:reverse(viewname, args=None, kwargs=None, current_app=None)。