2014-10-27 39 views
20

Uygulamamı "project/apps/myapp" klasörüne yükledim. Hem uygulamalar hem de myapp klasörleri init .py dosyalarına sahiptir (Bunlardan hiçbiri modül eksik hatası var). Şimdi ben hata:Django 1.7 çakışan modeller

Django iki farklı yolla aynı modeli içe aktarın. Bunu nasıl düzeltebilirim?

Tam hata günlüğü:

Traceback: 
File "/home/voxa/.virtualenvs/42-test/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 
    98.     resolver_match = resolver.resolve(request.path_info) 
File "/home/voxa/.virtualenvs/42-test/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in resolve 
    343.    for pattern in self.url_patterns: 
File "/home/voxa/.virtualenvs/42-test/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in url_patterns 
    372.   patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) 
File "/home/voxa/.virtualenvs/42-test/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in urlconf_module 
    366.    self._urlconf_module = import_module(self.urlconf_name) 
File "/usr/lib/python2.7/importlib/__init__.py" in import_module 
    37.  __import__(name) 
File "/home/voxa/django/FortyTwoTestTask/fortytwo_test_task/urls.py" in <module> 
    4. from resume import views 
File "/home/voxa/django/FortyTwoTestTask/apps/resume/views.py" in <module> 
    4. from resume.models import Person 
File "/home/voxa/django/FortyTwoTestTask/apps/resume/models.py" in <module> 
    3. class Person(models.Model): 
File "/home/voxa/.virtualenvs/42-test/local/lib/python2.7/site-packages/django/db/models/base.py" in __new__ 
    285.   new_class._meta.apps.register_model(new_class._meta.app_label, new_class) 
File "/home/voxa/.virtualenvs/42-test/local/lib/python2.7/site-packages/django/apps/registry.py" in register_model 
    213.     (model_name, app_label, app_models[model_name], model)) 

Exception Type: RuntimeError at/
Exception Value: Conflicting 'person' models in application 'resume': <class 'apps.resume.models.Person'> and <class 'resume.models.Person'>. 
+0

ait

sen _project/resume_ ve _project/apps/resume_ hem app "devam" var mı? – dukebody

+0

yalnızca "proje/uygulama/özgeçmiş" yok – Crampus

+0

Uygulamanızın yapılabilmesi için apps.resume.models kişisini Person1 olarak içe aktarın; Resume.models ithalat kişiden Kişi2 olarak; yazdır Person1 .__ file__; Person2 .__ file__' yazdı ve sonuçları burada yayınladı mı? – dukebody

cevap

7

yerine daha sonra uygulamanın içinden modül sadece içeride uygulamayı içe sonra uygulamayı tüm projeyi ithal Proje o zaman modül. Bunun yerine

from webproject.app import model 

Kullanım

from app import model 

veya

from app.models import Staffs 
4

senin sorununa ilişkilidir (bir özelliktir çıkıyor) this bug report düşünüyorum.

Benim için sorun,yerine, yalnızca resume.models'dan içe aktarılarak giderilmiştir. Yani projenizde "from apps."'u arayın ve değiştirin.

(Benim için, __init__.py kaldırma veya PYTHONPATH neden olduğu diğer sorunlar değişen, ben bu ortak hayal.)

İlgili konular