当前分类:Django>>正文

手痒将manytomanyfiled改成foreignfiled丢失了文章和标签的全部关联

来源:互联网   更新时间:2023年3月28日  

手痒将manytomanyfiled改成foreignfiled丢失了文章和标签的全部关联。

在django数据模型中,manytomanyfiled是多对多数据模型,而foreignfiled则是一对多数据模型。

其中,manytomanyfiled模型似乎不能使用on_delete这个参数,我本来想要的目的是将关联的数据执行on_delete=models.set_null这一条的,也就是说删除一条数据,不会连带删除关联数据。

结果,manytomanyfiled这种模型是不支持on_delete这个参数的。

那么当我想删除掉其中一个标签的时候,就会出现下面这样的结果

与之相关联的全部文章也将被删除。

这不是我想要的。

于是把manytomanyflled模型改成了foreignfiled模型,执行migrations和migrate之后,系统就出错了。

一执行就直接把我的Posts_tags模型关联表给删除了。

然后所有的文章都出现了404错误,所有的tags提示不存在对应的数据表。

好烦,因为没有备份,posts_tags这张表里面的数据直接给清空了。

虽然其他数据没有受到影响,但是就因为这个表没了,导致文章失去了关联的tags,而所有的tags也失去了相应的文章。

影响不是很大,但是也告诫我一个事,对网站做任何的修改之前,都应该先备份好数据库,不然就容易操蛋啊!

本文固定链接:https://6yhj.com/leku-p-3208.html  版权所有,转载请保留本地址!
[猜你喜欢]

标签: django基础