- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我的models.py
文件包含:
class User(models.Model):
email = models.CharField(max_length=100, unique=True)
password = models.CharField(max_length=100)
create_time = models.DateTimeField(auto_now_add=True)
class Session(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
token = models.CharField(max_length=100, unique=True)
当我命令 python manage.py makemigrations
然后命令 python manage.py sqlmigrate <app_name> <migration_name>
我没有看到任何说“ON DELETE=CASCADE”的内容
但是,当我键入 python manage.py migrate
时,迁移不会失败。 .
现在,如果我转到 mysql 表(使用 SequelPro)并尝试为当前具有 session 条目的用户删除一行,我会收到以下错误:“未删除一行. 重新加载表以确保其内容在此期间没有更改。检查控制台以查看此表的主键中可能存在的错误!"。
现在,当我转到 session 表并删除此用户的 session ,然后尝试从用户表中删除用户的行时,它会正确删除。这表示 ON DELETE = CASCADE
实际上并没有在 MySQL 级别工作。
如何改正?
最佳答案
来自docs (强调我的):
ForeignKey.on_delete
When an object referenced by a ForeignKey is deleted, Django will emulate the behavior of the SQL constraint specified by the on_delete argument.
Django 实际上并没有在数据库中设置 ON DELETE
子句。如果需要,可以使用 RunSQL
手动添加一个手术。请务必使用相同的索引名称,或保留原始索引,否则稍后可能会出错。
关于python - Django on_delete=models.CASCADE 在 SQL 级别没有效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35780443/
我正在使用 Gunicorn 为 Django 应用程序提供服务,它工作正常,直到我将其超时时间从 30 秒更改为 900000 秒,我不得不这样做,因为我有一个用例需要上传和处理一个巨大的文件(过程
我有一个带有非常基本的管道的Jenkinsfile,它可以旋转docker容器: pipeline { agent { dockerfile { args '-u root' } } stag
在学习 MEAN 堆栈的过程中,我遇到了一个问题。每当我尝试使用 Passport 验证方法时,它都不会返回任何响应。我总是收到“localhost没有发送任何数据。ERR_EMPTY_RESPONS
在当今的大多数企业堆栈中,数据库是我们存储所有秘密的地方。它是安全屋,是待命室,也是用于存储可能非常私密或极具价值的物品的集散地。对于依赖它的数据库管理员、程序员和DevOps团队来说,保护它免受所
是否可以创建像图片上那样的边框?只需使用 css 边框属性。最终结果将是没 Angular 盒子。我不想添加额外的 html 元素。我只想为每个 li 元素添加 css 边框信息。 假设这是一个 ul
我是一名优秀的程序员,十分优秀!