Py学习  »  Django

django model 级联删除不生效么?

mactec • 7 年前 • 1375 次点击  

有个疑惑,django 设置on_delete =models.CASCADE好像没作用

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)

数据库是mysql,默认引擎innodb show create table test_session \G migrate之后并没有看到对应的表有设置 ON DELETE属性 而且我如果先删除主表会提示error ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails 另外,django也不支持on_update ?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1775
 
1375 次点击  
文章 [ 1 ]  |  最新文章 7 年前
mactec
Reply   •   1 楼
mactec    7 年前

我试着进数据库手动添加了 ON DELETE CASCADE,是可以的 有比较熟悉的朋友帮忙解答下吗,model.CASCADE不生效,设置这个属性有什么意义呢