gpt4 book ai didi

django - Django 如何保持其逻辑约束与其数据库之间的一致性?

转载 作者:搜寻专家 更新时间:2023-10-30 20:07:43 24 4
gpt4 key购买 nike

假设我有一个定义如下的模型:

class Foo(models.Model):
bar = models.CharField(max_length=10)

使用此模型,我使用以下代码在我的数据库中创建了一个 Foo 对象:

Foo.objects.create(bar="0123456789")

应该工作得很好。但是,在创建对象之后,我将 max_length 属性减少到 5。所以现在,从技术上讲,我创建的对象存在一致性错误。

Django 如何处理这种情况?我假设他们在再次保存该对象之前不会引发任何错误。如果是这样,这是针对这种情况的最佳解决方案吗?还有其他方法吗?

最佳答案

在您描述的情况下,Django 不会执行任何操作。但是,如果您运行 makemigrations,它将生成一个数据库迁移,将 db 列修改为 5 个字符;运行它会截断现有值。

关于django - Django 如何保持其逻辑约束与其数据库之间的一致性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53241677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com