database - 在Django中更改数据库表

database - 在Django中更改数据库表

我正在考虑使用Django开始一个项目(fyi,一个基于浏览器的游戏),我最喜欢的一个功能是使用syncdb自动创建基于我定义的Django模型的数据库表我似乎无法在其他任何框架中找到这个功能)。 当我在文档中看到这个时,我已经认为这太好了, Syncdb不会改变现有的表格 syncdb只会为尚未安装的模型创建表格。 它永远不会发出ALTER TABLE语句来匹配安装后对模型类所做的更改。…


在Django中迁移数据的最好方法是什么?

在对我的模型进行一些修改之后(例如模型中的新字段和新模型),将这些更改反映到我填充的数据库的最佳方法是什么? PS:我想在一个地方看到很多解决方案。 显然这里已经列出了更多的解决方案。…


python - django syncdb和一个更新的模型

我最近更新了模型,添加了一个BooleanField,但是当我执行python manage.py syncdb,它并没有将新字段添加到模型的数据库中。 我怎样才能解决这个问题 ?…



将字段更改为ManyToMany时的Django数据迁移

我有一个Django应用程序,我想在其中将一个字段从ForeignKey更改为ManyToManyField。 我想保留我的旧数据。 最简单/最好的流程是什么? 如果重要,我使用sqlite3作为我的数据库后端。 如果我对问题的总结不清楚,这里有一个例子。 说我有两个型号: class Author(models.Model): author=models.CharField(…


django models - 迁移django-model字段名称更改而不会丢失数据

我有一个django项目,其中包含已包含数据的数据库表。 我想更改字段名称而不会丢失该列中的任何数据。 我最初的计划是简单地以一种实际上不会改变db表名称的方式更改模型字段名称(使用db_column列参数): 原型号: class Foo(models.Model): orig_name=models.CharField(max_length=50) 新款: class Foo(mo…


python - Django项目使用错误的(旧)数据库设置

最近我开始使用SQLite3数据库和集成开发服务器在本地机器上开发一个小型的Django项目。 我现在把整个项目复制到运行Debian的服务器上。 只要我继续使用SQLite3数据库,一切运作良好。 现在我想切换到本地的MySQL数据库,所以我改变了项目的根文件夹中的settings.py文件,创建了数据库并添加了一个用户。 然后我运行syncdb,它创建了所需的表格没有任何问题。 现在我想使…


python - Django-DB-Migrations:不能ALTER TABLE,因为它有待处理的触发事件

我想从TextField中删除null=True:-footer=models.TextField(null=True, blank=True)+footer=models.TextField(blank=True, default='') 我创建了一个模式迁移: manage.py schemamigration fooapp--auto 由于某些页脚列包含NU…


python - 创建Django模型或更新(如果存在)

我想创建一个模型对象,比如Person,如果person的id不存在,或者我会得到那个person对象。 创建新人的代码如下: class Person(models.Model): identifier=models.CharField(max_length=10) name=models.CharField(max_length=20) object…


python - 用于重命名模型和关系字段的Django迁移策略

我打算在现有的Django项目中重命名几个模型,在该项目中,还有许多其他模型与要重命名的模型具有外键关系。 我相当确定这将需要多次迁移,但是我不确定确切的过程。 假设我从Django应用程序 myapp 的以下模型开始: class Foo(models.Model): name=models.CharField(unique=True, max_length=32) description=mo…


python - 使用Django 1.7加载初始数据和数据迁移

我最近从Django 1.6切换到1.7,并且开始使用迁移功能(我从未使用过South)。 在1.7之前,我曾经使用 fixture/initial_data.json 文件加载初始数据,该文件是通过 python manage.py syncdb 命令加载的(在创建数据库时)。 现在,我开始使用迁移,并且不赞成使用此行为: 如果应用程序使用迁移,则不会自动加载固定装置。 由于Django 2.0…




django makemigrations django重置数据库 migrate指定 django数据库迁移 migrate无效 migrate回滚 migrate作用 detected changes