python - 如何在 django 数据迁移中更改站点模型对象?
问题描述
我想要做的是我想将站点显示名称和域从 example.com 更改为 mydomain.com 。通常,我可以进入 django 管理员并执行此操作。但我想使用数据迁移。我的代码如下:
from django.db import migrations
def change_site_name_from_example_to_mydomain_func(apps, schema_editor):
Site = apps.get_model('sites', 'Site')
site = Site.objects.get(name='example.com')
site.name = 'mydomain.com'
site.domain = 'mydomain.com'
site.save()
class Migration(migrations.Migration):
dependencies = [
('accounts', '0006_populate_database_createsuperuser'),
]
operations = [
migrations.RunPython(change_site_name_from_example_to_mydomain_func),
]
但是,我收到一条错误消息,说没有网站这样的应用程序。问题是,如何在数据迁移中使用站点模型?错误是这样的:
LookupError: No installed app with label 'sites'.
解决方案
您链接到的问题建议您向网站应用程序添加依赖项,例如
dependencies = [
('accounts', '0006_populate_database_createsuperuser'),
('sites', '0002_alter_domain_unique'),
]
推荐阅读
- java - 我无法点击按钮
- python - 在 Ubuntu 中安装 mysqlclient 返回错误号 1
- ruby-on-rails - 是否有规范模式用于缓存与服务器上的会话相关的内容?
- xamarin - Xamarin Shell 导航将数据传递到视图模型不起作用
- fonts - 离子 4 和 --ion-font-family
- bigdata - 在不加载大数据的情况下查找异常值
- three.js - 应用旋转时玩家似乎没有旋转,而地板似乎在旋转。如何扭转这种情况
- javascript - 无法在 React 元素(div)上调用 e.preventDefault
- java - 在 TimeUnit.Days 中获取 getLastModifiedTime(path)
- android - android SingleDateTimePicker,如何使后视图变暗