Rak*_*kib 19 python mysql django cascade cascading-deletes
我的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)
Run Code Online (Sandbox Code Playgroud)
当我命令python manage.py makemigrations然后命令python manage.py sqlmigrate <app_name> <migration_name>我没有看到任何说"ON DELETE = CASCADE"
但是,当我键入时,迁移工作没有失败python manage.py migrate.
现在,如果我转到mysql表(使用SequelPro)并尝试为当前有会话条目的用户删除一行,我会收到以下错误:" 未删除一行.重新加载表格以确保在此期间内容没有改变.检查控制台是否有可能在此表的主键内发生错误! ".
现在,当我转到会话表并删除该用户的会话,然后尝试从用户表中删除用户的行时,它会正确删除.这表明ON DELETE = CASCADE实际上并没有在MySQL级别工作.
我怎么能纠正它?
| 归档时间: |
|
| 查看次数: |
5403 次 |
| 最近记录: |