问题标签 [django-migrations]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django 1.7 中的迁移
我目前参与了一个使用 Django 1.7 开发版本的项目。我想使用“makemigrations”和“migrate”将我在模型中所做的更改(添加字段、删除模型等)传播到数据库模式中” 命令。我在我的应用程序中的一个模型中添加了一个“年龄”字段。
当我使用“makemigrations”命令时,输出就像---“未检测到更改”。我猜“makemigrations”无法弄清楚对架构所做的更改。有什么建议可以让它工作吗?
python - 更改生成的迁移文件的基本路径
在 django 1.7 中,使用提供的makemigrations
命令(不是来自 South),有没有办法更改生成的迁移文件的存储位置?
我将这些文件置于版本控制之下,对于从 Django 的 contrib 导入的应用程序,它们会在应用程序目录中生成,该目录位于我项目的根路径之外。
例如,auth
在我的例子中,该应用程序获取在此位置生成的文件:
/home/dev/.envs/myproj/lib/python2.7/site-packages/django/contrib/auth/migrations/0002_group.py
谢谢
django - 如何简化 Django 1.7 中的迁移?
South 已经有类似的问题,但我已经使用 Django 1.7 开始了我的项目,并且没有使用 South。
在开发过程中,已经创建了很多迁移,但是该软件尚未交付,并且不存在必须迁移的数据库。因此,我想重置迁移,就好像我当前的模型是原始模型一样,并重新创建所有数据库。
推荐的方法是什么?
编辑:从 Django 1.8 开始,有一个名为squashmigrations的新命令或多或少地解决了这里描述的问题。
python - Django 1.6 版教程
我正在尝试遵循本教程:https ://docs.djangoproject.com/en/dev/intro/tutorial01/
我正在使用 Django 1.6.5。看来教程中使用的版本与我的完全不同。例如,migrate
在 my 中没有可用的 - 相关命令manage.py
。我通过下载 South 库并输入syncdb
而不是migrate
. 但现在教程要我输入:
South 和原来的 Django 都没有。我注定要失败吗?我是否必须安装更高版本的 Django?这对我来说似乎很奇怪,因为这样做很烦人。安装 1.6 是迄今为止最容易安装的。
python - 从 Django1.7 开始,“迁移”进入了核心。它类似于“南”吗?
我正在使用south
迁移。今天意外发现一篇有趣的文章,django1.7 support migrations。
有趣的是,我发现该startapp
命令甚至创建了一个文件夹migrations
。
有树:
我还找到了 command ./manage.py makemigrations
,它类似于:
./manage.py schemamigration myapp --initial
或者./manage.py schemamigration myapp --auto
那么呢datamigration
??
也找到了 command ./manage.py migrate
,我希望它类似于 south 的./manage.py migrate
command 。
所以里面没有./manage.py syncdb
命令django1.7
??
django - How to add a new field to a model with new Django migrations?
I'm using the contribute_to_class
method but I don't know how to create the field in the database with new migrations.
django - Django -south - 检查迁移中的现有表
我的一些迁移应该只在满足某些条件时运行 - 主要是因为使用南迁移 django.contrib 的错误性质。转换为我们自己的用户模型时需要。但是由于这些迁移应该自动运行,我不能指望“--fake”——有时我需要运行它们,有时不需要——auth_permissions
例如,取决于关系是否存在。我可以在迁移部分使用 south/django ormforward
来检查现有关系并在 a 中运行迁移if clause
吗?
我尝试在迁移中使用 try/except,但它似乎会导致错误(目前无法重现,我不再有此代码)
我怎样才能做到这一点?谢谢您的帮助!
使用 Django 1.6.4 和南 0.8.4
django - 为什么 Django 中没有“ListField”?
我有一个带有属性的模型Charfield
(让我们将其命名为优点)。choices
一段时间后,我决定应该将该字段“升级”为某种ListField
,因为可以选择多个选项。
根据我的搜索,我有两个选择:
1 - 创建一个新模型,并在引用此新模型的第一个模型中使用 ManyToManyField。这样,将呈现 admin 中使用的“多选”默认字段。生活很好。
2-创建一个自定义字段,将我的字段保存为带有某种分隔符的字符串。
这两种方法在 Django 模型中存储列表的最有效方法是什么?以及更多示例中的第二种方法:如何在 django 中创建列表字段,http : //cramer.io/2008/08/08/custom-fields-in-django/,https: //djangosnippets.org/snippets/1200 / , https://djangosnippets.org/snippets/1491/
事实是:我不想创建另一个模型只是为了拥有ManyToManyField
. 这是我拥有的选择的受控列表(并且不希望人们添加新项目)并认为为此创建一个表是多余的(尽管我可以为该表创建一个固定装置而不在中注册模型admin.py
,所以人们不会添加新项目。但是我不知道在更改固定装置中的这些值时迁移将如何工作,而在过去我只是偶然在我的模型定义中选择元组)。
...并创建一个新的自定义字段,我不知道。从长远来看,这似乎是个问题,因为我不知道其含义、升级 Django 时的问题等。
为什么没有内置ListField
?从长远来看,我正在考虑的两种方法有哪些问题?我打算做第一个,但我对迁移有点迷茫。
django - Django 1.7 同步未迁移的应用程序
我开始了我的模型:
myapp.models.py
然后运行./manage.py migrate
我的新项目,一切都很好:
然后我改变了我的模型:
我又跑./manage.py migrate
了,什么也没发生。
我想知道我需要做什么才能使我的新应用程序迁移?
python - Django中的重复模型字段
重复的模型字段给我带来了麻烦(运行网页时没有这样的表 appname_modelname)。每当我执行 ./manage.py migrate appname 时,它都会给我“重复字段”。我检查了我的models.py,那里只有一个。如何删除该重复字段?似乎无论我做什么,它都会留下来。我试过了:
删除数据库
删除应用程序文件夹中的迁移文件夹
执行 ./manage.py sqlclear south,然后在 dbshell 中删除 south_migrationhistory 表
./manage.py schemamigration appname --initial, ./manage.py migrate appname --fake
我已经没有想法了。