Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用什么代替什么都不做只删除一个字段?_Python_Sql_Django_Database_Django Models - Fatal编程技术网

Python 用什么代替什么都不做只删除一个字段?

Python 用什么代替什么都不做只删除一个字段?,python,sql,django,database,django-models,Python,Sql,Django,Database,Django Models,我想把这两个模型连接起来 class t_data(models.Model): receiver = models.TextField() file_desc = models.TextField() file = models.FileField(upload_to='files') 另一种模式: class transaction_detail(models.Model): transaction_id = models.ForeignKey(

我想把这两个模型连接起来

class t_data(models.Model):
    receiver = models.TextField()
    file_desc = models.TextField()
    file = models.FileField(upload_to='files')
另一种模式:

class transaction_detail(models.Model):
    transaction_id = models.ForeignKey(
        t_data,
        on_delete=models.DO_NOTHING,
        )
    sender=models.TextField()
    receiver = models.TextField()
*是的,我正在使用DO_NOTHING,我读到使用它是错误的。但它不起作用

现在,当用户尝试删除其文件时,t_数据对象应该被删除,但事务的详细信息不应该更改。在我的视图中没有关于删除对象的特定内容。然而,简单的例子是

def delete_request(request,id):
    requested = t_data.objects.get(id=id)
    requested.delete()
return HttpResponseRedirect('/requests')
当我试图删除t_数据对象时,它会抛出一个完整性错误

错误:

完整性错误位于/已接受/1 外键约束失败 请求方法:获取 请求URL: Django版本:3.1.7 异常类型:IntegrityError 异常值:
外键约束失败 异常位置:C:\Users\ukfle\AppData\Local\Programs\Python\39\lib\site packages\django\db\backends\sqlite3\base.py,第413行,在execute中 Python可执行文件:C:\Users\ukfle\AppData\Local\Programs\Python\Python39\Python.exe Python版本:3.9.1 Python路径:
['C:\Users\ukfle\Documents\pro', 'C:\Users\ukfle\AppData\Local\Programs\Python\Python39\Python39.zip', 'C:\Users\ukfle\AppData\Local\Programs\Python\Python39\DLLs', 'C:\Users\ukfle\AppData\Local\Programs\Python\Python39\lib', 'C:\Users\ukfle\AppData\Local\Programs\Python\Python39', 'C:\Users\ukfle\AppData\Roaming\Python\Python39\site packages', 'C:\Users\ukfle\AppData\Local\Programs\Python\Python39\lib\site packages', 'C:\Users\ukfle\AppData\Local\Programs\Python\39\lib\site packages\win32', 'C:\Users\ukfle\AppData\Local\Programs\Python\39\lib\site packages\win32\lib', 'C:\Users\ukfle\AppData\Local\Programs\Python\Python39\lib\site packages\Pythonwin'] 服务器时间:2021年5月19日星期三14:05:40+0000

如何解决?或者用什么来代替无所事事?如果要解决此问题,也可以使用OneToOneField。非常感谢。
:)

在中的on_delete参数下选中选项。您可以使用
SET_NULL
选项,该选项将数据设置为
NULL
,但如上所述,该字段应为空
DO_NOTHING
是您能做的最糟糕的事情,因为当删除发生时,数据保持原样,并且变成一个不存在的对象。

有什么错误?添加完全错误traceback@JPG完成!你能帮我做这个吗谢谢!!。信息技术worked@Utsavkaf听到这个消息我很高兴。祝您有个美好的一天。