正如标题所说,我似乎无法让迁移工作.
该应用程序最初低于1.6,因此我了解迁移最初不会出现,事实上,如果我运行,python manage.py migrate我得到:
Operations to perform:
Synchronize unmigrated apps: myapp
Apply all migrations: admin, contenttypes, auth, sessions
Synchronizing apps without migrations:
Creating tables...
Installing custom SQL...
Installing indexes...
Running migrations:
No migrations to apply.
Run Code Online (Sandbox Code Playgroud)
如果我对任何模型进行更改myapp,它仍然会按预期显示未迁移.
但如果我跑,python manage.py makemigrations myapp我得到:
No changes detected in app 'myapp'
Run Code Online (Sandbox Code Playgroud)
似乎没关系我运行命令的内容或方式,它从未检测到应用程序有更改,也没有将任何迁移文件添加到应用程序.
有没有办法迫使应用程序进行迁移,并基本上说"这是我的工作基础"或任何东西?或者我错过了什么?
我的数据库是一个PostgreSQL,如果它有帮助的话.
正如标题所说......我不确定Django迁移是否应该存在于源代码管理中.
对于:
反对:
I'm ready to push my existing Django project (which i've been running in a local environment) to a Bitbucket repository so I can run it on a public server. At the moment I feel like there's a lot of files created in local development that needs to be added to .gitignore.
我在 github 上找到了这个.gitignore文件,但是我仍然觉得它缺少一些东西,例如它似乎没有从每个migrations文件夹中删除文件。还有很多我不知道他们做什么的东西——我知道并不是所有的东西都是需要的。任何建议表示赞赏。
这是一种常见的做法,即在django项目上工作的人通常会将迁移推送到版本控制系统以及其他代码.
我的问题是为什么这种做法如此普遍?为什么不推送更新的模型,每个人都在本地生成迁移.这种方法也可以减少解决迁移冲突的工作量.
我有一个Django项目,我想生成一些对象(来自模型)
我想要的是:独立的 Python 脚本来创建一堆对象和/或过滤,删除.
在导入模型from apps.base.models import MyModel
并使用之前的StackOverflow问题设置配置后,我无法运行脚本.
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myProject.settings")
import django
django.setup()
from apps.base.models import MyModel
Run Code Online (Sandbox Code Playgroud)
请注意,这是在Django 2.0.6版[Django 2.0+]上.
已使用正确的设置,(即 myProject.settings)
正确配置其他所有内容后,我收到以下错误:
RuntimeError: Model class apps.base.models.MyModel doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.设置:
base.py:https://pastebin.com/MNcitE4U
development.py:https://pastebin.com/JAHqxwRM
完整的GitHub链接在这里:https://github.com/teratzu/Razred-Management