Django 从 2.0 迁移到 2.2(查看权限问题)

     2023-02-24     286

关键词:

【中文标题】Django 从 2.0 迁移到 2.2(查看权限问题)【英文标题】:Django Migration from 2.0 to 2.2(View Permissions Issue) 【发布时间】:2019-10-16 01:04:18 【问题描述】:

在迁移 Django 时面临与迁移相关的问题:

python manage.py migrate demo --database demo

获取与以下相关的错误:

ValueError: Cannot assign "ContentType: ContentType object (1)": 当前数据库路由器阻止了这种关系。

Detailed Error Log : https://ideone.com/z6NPkq

Tested Django Version:在Django版本2.0.13之后,面临这个问题。

让我知道这可能是什么原因?

编辑:在 Django 2.1 中找到原因,他们添加了视图权限:Source

为什么视图权限没有自动生成?

解决方案:在Django模块中,如果我们将移动到文件路径:django/contrib/auth/management/__init.py

我们必须更改行号:79

Permission(codename=codename, name=name, content_type=ct)

Permission(codename=codename, name=name, content_type_id=ct.id)

我在 Django 中调试后找到了这个解决方案,但仍然无法理解为什么会发生这种情况。让我知道其他解决方案以及此解决方案的任何原因。

EDIT-1:寻找答案,这样我就不必更改核心 Django 模块(库)。

解决方案-1

def allow_relation(self, obj1, obj2, **hints):
    if obj1._state.db == "demo" or obj2._state.db=="demo":
        return True
    return obj1._state.db == obj2._state.db 

注意:在我的情况下,其他数据库使用演示数据库表作为参考,因此在 Approuter 类中自定义了 allow_relation 方法。

【问题讨论】:

【参考方案1】:

似乎是路由器问题。这应该是因为您正在使用具有多个数据库配置的 Django。 根据上面的示例,您需要覆盖应用路由器中的allow_relation函数,以允许存在content-type的数据库与演示数据库之间的关系。

【讨论】:

我们能看到 allow_relation 覆盖吗?还是只是您的建议。谢谢 @OhadtheLad 我在问题部分添加了解决方案

从 HSQL DB 1.8 迁移到 2.0

】从HSQLDB1.8迁移到2.0【英文标题】:MigratingFromHSQLDB1.8to2.0【发布时间】:2010-12-1005:42:21【问题描述】:最近我遇到了这个问题。我正在维护一个用Java编写的软件产品,HSQLDB是后端数据库引擎版本1.8。但是最近我们将HSQLDB版本从1.... 查看详情

AFNetworking 代码从 1.3 迁移到 2.0

】AFNetworking代码从1.3迁移到2.0【英文标题】:AFNetworkingcodemigrationfrom1.3to2.0【发布时间】:2015-07-0116:44:35【问题描述】:我是IOS开发的新手。我正在尝试用AFNetworking2.0重写这段代码。如何使用响应来获取成功或失败回调的状态代... 查看详情

Django:在还原(迁移)后尝试访问数据库时权限被拒绝

】Django:在还原(迁移)后尝试访问数据库时权限被拒绝【英文标题】:Django:permissiondeniedwhentryingtoaccessdatabaseafterrestore(migration)【发布时间】:2012-08-2707:35:42【问题描述】:我在本地开发服务器中有一个django1.4应用程序,其中包... 查看详情

从 AFNetworking 1.3 迁移到 AFNetworking 2.0 的问题

】从AFNetworking1.3迁移到AFNetworking2.0的问题【英文标题】:IssuemigratingfromAFNetworking1.3toAFNetworking2.0【发布时间】:2013-10-0616:01:28【问题描述】:我正在尝试将项目从AFNetworking1.3迁移到AFNetworking2.0。在AFNetworking1.3项目中,我有以下代... 查看详情

ASP.NET Framework 从 2.0 迁移到 3.5 的影响?

】ASP.NETFramework从2.0迁移到3.5的影响?【英文标题】:ASP.NETFrameworkeffectsofmovingfrom2.0to3.5?【发布时间】:2010-09-1201:17:33【问题描述】:我已经开始使用VisualStudio2008,它每次都要求我将我的2.0网站项目升级到3.5。当我在VisualStudio中... 查看详情

将代码从 Django 1.9 版翻译到 2.0 版

】将代码从Django1.9版翻译到2.0版【英文标题】:TranslatingcodefromDjangoversion1.9toversion2.0【发布时间】:2021-03-1405:10:58【问题描述】:我目前正在尝试开始使用Django。但是我使用的书使用的是Django版本2.0现在面临的问题是这段代码:f... 查看详情

从 Cake 1.3 迁移到 2.0 及更高版本 - 迁移现有的,还是仅用于新的?

】从Cake1.3迁移到2.0及更高版本-迁移现有的,还是仅用于新的?【英文标题】:MigratingfromCake1.3to2.0andbeyond-migrateexisting,oronlyusefornew?【发布时间】:2011-09-1021:10:42【问题描述】:我的第一个CakePHP驱动的网站即将完成,刚刚看到他... 查看详情

从 South 迁移到 Django 1.7 迁移:可交换依赖项

】从South迁移到Django1.7迁移:可交换依赖项【英文标题】:MovingfromSouthtoDjango1.7migrations:swappabledependency【发布时间】:2015-04-1209:04:06【问题描述】:我有一个用Django1.6编写的项目,它使用南迁移,我试图将它移到Django1.7。所以我... 查看详情

从 EF6 迁移到 EF Core 2.0

】从EF6迁移到EFCore2.0【英文标题】:MovingfromEF6toEFCore2.0【发布时间】:2018-08-1506:53:10【问题描述】:我刚开始将使用EF6x的MVC5项目迁移到MVCCore和EFCore,但我的实体配置存在很大问题。如何将EF6Fluent配置迁移到EF核心?如果可能的... 查看详情

我无法从 Django 1.8 升级到 2.0

】我无法从Django1.8升级到2.0【英文标题】:IamunabletoupgradefromDjango1.8to2.0【发布时间】:2018-07-3120:13:04【问题描述】:如何将Django从1.8更新到2.0.2?我无法做到这一点。我正在使用python3.5【问题讨论】:您应该运行python3,因为您使... 查看详情

Android Retrofit:从 Retrofit 1.9 迁移到 Retrofit 2.0 的步骤

】AndroidRetrofit:从Retrofit1.9迁移到Retrofit2.0的步骤【英文标题】:AndroidRetrofit:StepstoMigratefromRetrofit1.9toRetrofit2.0【发布时间】:2017-03-2401:17:03【问题描述】:我目前正在使用改造1.9,我在使用它时遇到了很多问题,比如我得到改造... 查看详情

在 vagrant 的 Django 应用程序中创建迁移文件夹的权限被拒绝

】在vagrant的Django应用程序中创建迁移文件夹的权限被拒绝【英文标题】:PermissiondeniedtocreatemigrationfolderinDjangoappinvagrant【发布时间】:2015-09-0116:52:01【问题描述】:我正在尝试从1.4升级到Django1.8我尝试在vagrant环境中运行以下命... 查看详情

将密码从 Drupal 7 迁移到 Django

】将密码从Drupal7迁移到Django【英文标题】:MigratepasswordsfromDrupal7toDjango【发布时间】:2012-04-1005:26:18【问题描述】:我正在将一个站点从Drupal7迁移到Django1.4,包括当前用户。如何使用Drupal散列的密码?根据this,Drupal7使用SHA-512... 查看详情

无法将 Django 从 1.7 迁移到 1.8

】无法将Django从1.7迁移到1.8【英文标题】:CannotmigrateDjangofrom1.7to1.8【发布时间】:2020-09-2923:39:39【问题描述】:将django1.7升级到1.8时(最终目标是将1.4迁移到1.11LTS)我被要求从我的INSTALLED_APPS中删除SOUTH很好,但是我明白了:rai... 查看详情

从 2.2 .Net core 迁移到 3.0 Cors 错误

】从2.2.Netcore迁移到3.0Cors错误【英文标题】:Migratingfrom2.2.Netcoreto3.0Corserror【发布时间】:2020-03-0503:02:07【问题描述】:在将API从2.2.NETCore迁移到3.0时,我在运行API时遇到以下代码错误。publicstaticvoidConfigure(IApplicationBuilderapp)app.Use... 查看详情

Django:如何从 ManyToMany 迁移到 ForeignKey?

】Django:如何从ManyToMany迁移到ForeignKey?【英文标题】:Django:HowtomigratefromManyToManytoForeignKey?【发布时间】:2019-07-0908:00:40【问题描述】:我正在使用Django和DjangoRestFramework构建一个RESTAPI和服务器。我们正在使用postgres数据库。我... 查看详情

从 MySQL 迁移到 PostgreSQL 时,Django 用户应该知道啥?

】从MySQL迁移到PostgreSQL时,Django用户应该知道啥?【英文标题】:WhatshouldaDjangouserknowwhenmovingfromMySQLtoPostgreSQL?从MySQL迁移到PostgreSQL时,Django用户应该知道什么?【发布时间】:2011-02-0613:06:12【问题描述】:到目前为止,我使用Dja... 查看详情

将 Web 应用程序从 2.0 迁移到 3.5 框架的最快和最佳方法?

】将Web应用程序从2.0迁移到3.5框架的最快和最佳方法?【英文标题】:fastestandbestapproachtomigrateawebapplicationfrom2.0to3.5framework?【发布时间】:2011-11-1312:38:23【问题描述】:我有一个使用2.0框架开发的应用程序,那么我需要将它迁移... 查看详情