- 解决方案:django IntegrityError("The row in table '%s' with primary key '%s' has an ""invalid foreign key: %s.%s contains a value '%s' that ""does not have a corresponding value in %s.%s."% (table_name,bad_row[0],table_name,column_name,bad_row[1],referenced_table_name,referenced_column_name,))
报错的原因这是一个Django数据库中外键约束错误。例如,如果外键指向主键表的名称为"referenced_table",则可以执行以下查询如果返回False,就需要手动删除那一条数据。Author表中的"id"字段是主键,而Book表中的"author"字段是外键。这也是默认的 on_delete 行为,不过建议在使用时要慎重,以免误删重要数据。所以选择不同的 on_delete 类型可以满足不同需求。
2023-04-02 16:21:40 - 报错ValueError("Cannot force an update in save() with no primary key.")的解决
报错的原因这个错误的原因是在 Django 中,当你尝试在使用 `save()` 方法时更新一个对象时,但是这个对象没有主键。主键是数据库表中用来唯一标识一条记录的字段。而不是使用 `save()`方法。也可以使用Django-model-utils库中的`UpdateOrCreate`来进行更新或创建操作。在类方法中,不能使用 `self` 代表当前对象,可能会出现这种错误。使用例子可以看这个例子这段代码中,先使用了`save()`来新建一个对象,然后再使用 `save()` 来更新这个对象。如果将 `id` 字段去掉,那么就会抛出错误。
2023-03-29 15:04:47