2015-09-14 74 views
0

我正在用Django 1.5.1構建項目並決定將該項目遷移到Django 1.8.4,然後我發現我無法初始化項目,我能夠檢測並修正了一些錯誤,但現在已經過了幾天了,我無法弄清楚其餘的問題。將項目從django 1.5遷移到django 1.8問題

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 312, in execute 
    django.setup() 
    File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 85, in populate 
    app_config = AppConfig.create(entry) 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 86, in create 
    module = import_module(entry) 
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/home/jaime/djcode/spid/preventivos/__init__.py", line 38, in <module> 
    from preventivos.views import * 
    File "/home/jaime/djcode/spid/preventivos/views.py", line 4, in <module> 
    from preventivos.forms import * 
    File "/home/jaime/djcode/spid/preventivos/forms.py", line 122, in <module> 
    class UnidadesForm(forms.ModelForm): 
    File "/home/jaime/djcode/spid/preventivos/forms.py", line 124, in UnidadesForm 
    ciudad = forms.ModelChoiceField(widget=forms.Select(attrs={'size':'13', 'onchange':'this.form.action=this.form.submit()'}), choices= RefCiudades.objects.filter(provincia__contains = RefProvincia.objects.filter(descripcion__contains = "CHUBUT").values("id")) ) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 127, in manager_method 
    return getattr(self.get_queryset(), name)(*args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 679, in filter 
    return self._filter_or_exclude(False, *args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 697, in _filter_or_exclude 
    clone.query.add_q(Q(*args, **kwargs)) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1309, in add_q 
    clause, require_inner = self._add_q(where_part, self.used_aliases) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1337, in _add_q 
    allow_joins=allow_joins, split_subq=split_subq, 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1149, in build_filter 
    lookups, parts, reffed_expression = self.solve_lookup_type(arg) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1035, in solve_lookup_type 
    _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta()) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 1372, in names_to_path 
    if field.is_relation and not field.related_model: 
    File "/usr/local/lib/python2.7/dist-packages/django/utils/functional.py", line 60, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/related.py", line 110, in related_model 
    apps.check_models_ready() 
    File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 131, in check_models_ready 
    raise AppRegistryNotReady("Models aren't loaded yet.") 
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet. 
+2

歡迎來到Stack Overflow!對不起,本網站要求您僅以*英文*發佈您的問題。請自己翻譯一下;別人爲你翻譯並不會幫助你理解評論和答案,或迴應反饋。 –

+1

或者,等待新的[Spanish Stack Overflow站點](http://discuss.area51.stackexchange.com/questions/21519/the-stack-overflow-in-spanish-project-is-underway)啓動。 –

+0

請添加您收到的錯誤類型。 Por支持agrega los errores que estas recibiendo。 –

回答

1

回溯告訴你問題在於UnidadesForm模型表單中的這一行。

ciudad = forms.ModelChoiceField(widget=forms.Select(attrs={'size':'13', 'onchange':'this.form.action=this.form.submit()'}), choices= RefCiudades.objects.filter(provincia__contains = RefProvincia.objects.filter(descripcion__contains = "CHUBUT").values("id")) ) 

由於這是一個模型選擇字段,這將是最好使用queryset參數,而不是choices

ciudad = forms.ModelChoiceField(widget=forms.Select(attrs={'size':'13', 'onchange':'this.form.action=this.form.submit()'}), queryset= RefCiudades.objects.filter(provincia__contains = RefProvincia.objects.filter(descripcion__contains = "CHUBUT").values("id")) ) 

我認爲這可能會阻止錯誤,但我不確定您的查詢集是否有意義。過濾器參數provincia__contains應取一個字符串,但RefProvincia(...).values("id")將返回值queryset。

+0

謝謝!我會盡力而爲。 – jaime

+0

在我的RefCiudades模型中,provincia字段是RefProvincia的fk,我通過這個: [{'id':1L}]] 並且它只需要接收一個id。我修改了我的原代碼: ciudad = forms.ModelChoiceField(widget = forms.Select(attrs = {'size':'13','onchange':'this.form.action = this.form.submit() '}),queryset = RefCiudades.objects.filter(provincia__contains = RefProvincia.objects.filter(descripcion__contains =「CHUBUT」)。values(「id」)[0] ['id'])) 它工作。非常感謝您的回答。 – jaime

+0

很高興你能工作。有一個小問題,查詢將在服務器啓動時運行,而不是在顯示錶單時運行。將'queryset'移動到'__init__'方法會更好,但是在顯示模型的另一個問題上可以更好地解決這個問題。 – Alasdair