2017-06-01 51 views
0

我試圖將我的django應用程序從版本1.8.18更新到1.11.1並面臨以下問題TypeError:allow_migrate()缺少1所需的位置參數: 'model'Django遷移allow_migrate()缺少1所需的位置參數「模型」

我搜索了一個網頁,但沒有找到解決我的問題的方法。這是回溯

Traceback (most recent call last): 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/utils/autoreload.py", line 227, in wrapper 
    fn(*args, **kwargs) 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/core/management/commands/runserver.py", line 125, in inner_run 
    self.check(display_num_errors=True) 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/core/management/base.py", line 359, in check 
    include_deployment_checks=include_deployment_checks, 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/core/management/base.py", line 346, in _run_checks 
    return checks.run_checks(**kwargs) 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/core/checks/registry.py", line 81, in run_checks 
    new_errors = check(app_configs=app_configs) 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/core/checks/model_checks.py", line 30, in check_all_models 
    errors.extend(model.check(**kwargs)) 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/db/models/base.py", line 1282, in check 
    errors.extend(cls._check_fields(**kwargs)) 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/db/models/base.py", line 1357, in _check_fields 
    errors.extend(field.check(**kwargs)) 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 909, in check 
    errors = super(AutoField, self).check(**kwargs) 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 219, in check 
    errors.extend(self._check_backend_specific_checks(**kwargs)) 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/db/models/fields/__init__.py", line 321, in _check_backend_specific_checks 
    if router.allow_migrate(db, app_label, model_name=self.model._meta.model_name): 
    File "/srv/projects/TcellIDM/env/lib/python3.5/site-packages/django/db/utils.py", line 300, in allow_migrate 
    allow = method(db, app_label, **hints) 
TypeError: allow_migrate() missing 1 required positional argument: 'model' 

請幫我找出問題的位置或建議我應該在哪裏解決問題。

+0

回溯表明您的數據庫路由器存在問題。 ['allow_migrate'](https://docs.djangoproject.com/en/1.11/topics/db/multi-db/#allow_migrate)方法似乎有錯誤的簽名。 – Alasdair

+0

@阿拉斯加謝謝你。我會盡力以這種方式進行搜索。 – latsha

回答

0
def allow_migrate(self, db, app_label=None, model_name=None, **hints): 
    """ 
    Make sure the auth app only appears in the 'auth_db' 
    database. 
    """ 
    if app_label == 'auth': 
     return db == 'xxxx' 
    return None 

也許你可以添加model_name = None。 我得到了與app_lable類似的錯誤。

相關問題