当前位置: 首页 > 面试题库 >

无法将ManyToManyField迁移为null tr​​ue,空白true,无法识别

姬康平
2023-03-14
问题内容

我已经从

standard = models.ManyToManyField(Standard)

standard = models.ManyToManyField(Standard, blank=True, null=True)

此应用程序的South schemamigration无法识别更改吗?


问题答案:

该行为是正确的:null与一起使用时,在数据库级别并不意味着任何事情ManyToManyField。声明a ManyToManyField会导致创建一个中间表来保存该关系,尽管Django standard为了方便起见会在模型实例上创建一个属性,但没有表示该属性的实际列可以为空。根据定义,该关系始终为零。

blank=False但是,确实会影响验证(例如,在使用诸如admin app之类的模型形式时),迫使用户至少选择一种关系。

(请注意,Django的内置迁移系统几乎会为模型的任何更改创建迁移,无论它是否影响数据库。因此,此更改可能会导致迁移,但不会影响数据库或是否影响数据库。则你可能没有该关系的零个实例。)



 类似资料:
  • 我在scala项目中使用Flyway版本5.2.4,并且我的所有迁移脚本都在src/main/Resources/db/迁移下,具有以下文件夹结构 位置设置为db.migrations(没有任何前缀。Flyway留档表示如果不使用前缀,则支持sql/java迁移) V1和V2似乎没有问题。但是V3被忽略了。我尝试添加V3\uu java\u迁移。java也一样,它没有什么不同。是否有人有幸添加了非

  • 运行php artisan migrate时,它会给出以下错误消息 1.PDOException::(“SQLSTATE[HY000][2002]连接被拒绝”)/Users/redblac/olivertes/vendor/laravel/framework/src/illusted/Database/Connectors/Connector.php:70 2 PDO::_构造(“mysql:ho

  • 我试图运行mongock来处理版本控制的DB迁移,但mongock基础设施出现了一个异常,还请注意,我没有使用spring boot,只有spring bean系统,我没有选择使用spring boot。。。 Pom和代码段: 代码: Mongo模板按其应有的方式提供,但我遇到了以下抛出的错误,错误是从mongock而不是从我的变更集抛出的,它甚至不执行我的变更集。任何帮助都会很感激

  • 我正在尝试使用Flyway运行数据库迁移脚本。我有两个SQL脚本和一个Java脚本正在尝试运行。当我跑步的时候/gradlew flywayMigrate或gradle flywayMigrate它只接受SQL脚本,而不接受Java脚本 我的项目设置如下: database_migrations 我尝试了多种解决方案来让java脚本运行,例如指定,但这只会导致此输出。我尝试过将其移动到其他包。我尝

  • 我在AWS托管了一个站点。我已经为弹性Beanstalk创建了一个RDS DB实例。在我的laravel应用程序的config/database.php文件中,我将数据库连接配置为: 现在,当我尝试通过SSHing运行到EC2实例时,我得到以下错误: SQLState[HY000][1049]未知数据库“MydBindEntifier”(SQL:select*from) “mydbidentifi

  • 我正在尝试在Laravel中创建外键,但是当我使用迁移表时,出现以下错误: 我的迁移代码如下: 优先级迁移文件 用户迁移文件 任何关于我做错了什么的想法,我现在就想知道,因为我有很多表需要创建,例如用户、客户、项目、任务、状态、优先级、类型、团队。理想情况下,我希望创建使用外键保存此数据的表,即和等。 希望有人能帮助我开始。