奶茶不加糖Amy 2023-03-23 20:02 采纳率: 90%
浏览 27
已结题

django admin添加用户组时报错

django admin添加用户组时报错

img

如图所示,点击创建后报错

img

很奇怪啊,我没有改任何初始代码

这是database_router的代码

from django.conf import settings

class DatabaseRouter(object):
    def db_for_read(self, model, **hints):
        app_label = model._meta.app_label
        if app_label in settings.DATABASES_APPS_MAPPING:
            res = settings.DATABASES_APPS_MAPPING[app_label]
            return res
        return None

    def db_for_write(self, model, **hints):
        app_label = model._meta.app_label
        if app_label in settings.DATABASES_APPS_MAPPING:
            return settings.DATABASES_APPS_MAPPING[app_label]
        return None

    def allow_relation(self, obj1, obj2, **hints):
        # 获取对应数据库的名字
        db_obj1 = settings.DATABASES_APPS_MAPPING.get(obj1._mata.app_label)
        db_obj2 = settings.DATABASES_APPS_MAPPING.get(obj2._mata.app_label)
        if db_obj1 and db_obj2:
            if db_obj1 == db_obj2:
                return True
            else:
                return False
        return None

    def db_for_migrate(self, db, app_label, model_name=None, **hints):
        if db in settings.DATABASES_APPS_MAPPING.values():
            return settings.DATABASES_APPS_MAPPING.get(app_label) == db
        elif app_label in settings.DATABASES_APPS_MAPPING:
            return False
        return None
  • 写回答

3条回答 默认 最新

  • 一头小山猪 一头小山猪(个人IP)官方账号 2023-03-23 22:59
    关注

    allow_relation方法里面,是否想要访问的是_meta属性?

    你的拼写是_mata,更正之后应该就没有问题了,有帮助请采纳,谢谢~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月3日
  • 已采纳回答 3月26日
  • 创建了问题 3月23日