Django

2016-03-29 11 views
0

'da çift içe aktarma tuzağına sahip dosyaları sıkıştırmak için models.py dosyası nasıl bölülür? İçinde çok sayıda sınıf bulunan bir büyük dosya model.py var ve model alt dizinindeki dosyaları ayrı ayrı bölmek istiyorum. Benim şu anki projenin yapısı şöyledir:Django

project 
├── core 
| ├── settings 
| | └── base.py 
| ├── __init__.py 
| ├── urls.py 
| ├── models.py 
| ├── views.py 
| └── wsgi.py 
├── members 
| ├── migrations 
| ├── templates 
| ├── __init__.py 
| ├── forms.py 
| ├── models.py 
| ├── urls.py 
| └── views.py 
├── templates 
| ├── pages 
| | └── register.html 
| └── base.html 
└── manage.py 

ben gibi genişletilmiş yapıya üyeleri/models.py bölmek çalışıyorum:

├── members 
| ├── models 
| | ├── __init__.py 
| | ├── account.py 
| | └── blabla.py 
| ├── migrations 
| ├── templates 
| ├── __init__.py 
| ├── forms.py 
| ├── urls.py 
| └── views.py 

Python 2.7, Django 1.9 ve django-allauth gemide böylece hesabında .py 2 sınıfım var:

class MyUserManager(UserManager) ve class Account(AbstractBaseUser, PermissionsMixin). modellerde

/init modellerinde ayarlara AUTH_USER_MODEL = 'members.Account'

Tüm sınıflar ise .py

# -*- coding: utf-8 -*- 
from account import * 
from blabla import * 

app_label = 'members' var.

RuntimeError: Conflicting 'account_groups' models in application 'members': 
<class 'members.models.account.Account_groups'> and <class 'models.account.Account_groups'>. 

herhangi bir fikir nasıl bunu önlemek için:

members/__init__.py Ben bu sorunu var

boş?

Teşekkürler.

EKLENDİ:

DJANGO_APPS = [ 
    'django.contrib.auth', 
    'django.contrib.sites', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
] 

THIRD_PARTY_APPS = [ 
    'allauth', 
    'allauth.account', 
    'allauth.socialaccount', 
    'allauth.socialaccount.providers.facebook', 
    'allauth.socialaccount.providers.google', 
    'allauth.socialaccount.providers.twitter', 
    'allauth.socialaccount.providers.vk', 
    'django_migration_fixture', 
    'widget_tweaks', 
    'tz_detect', 
] 

PROJECT_APPS = [ 
    'core', 
    'admin', 
    'members', 
] 

INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + PROJECT_APPS 
+0

http://paltman.com/breaking-apart-models-in-django/ –

+0

sizin settings.INSTALLED_APPS ekleyin aynı sorun – Kedar

+0

@kedar maalesef eserlerini does't Bkz – johndark

cevap

0

Eh, bu konunun allauth iç modelleri ile bağlanır düşünüyorum. Ben bu uygulamada acc adlı yeni bir uygulama oluşturdum ve her iki allauth sınıfını models.py'ye ekledim. Şimdi ayarlarında

:

AUTH_USER_MODEL = 'acc.Account' 

PROJECT_APPS = [ 
    'acc', 
    'core', 
    'admin', 
    'members', 
] 

Şimdi ayrı dosyalarla modeller alt dizinine üyelerinden models.py ayırabilir ve bu çalışma zamanı hatası w/o iyi çalışıyor.