Ich habe eine große Datei models.py mit vielen Klassen darin und möchte aufteilen, um Dateien im Unterverzeichnis des Modells zu trennen. Mein aktuelles Projekt der Struktur ist:Wie man models.py spaltet, um Dateien ohne doppelte Importfalle in Django zu spalten
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
Ich versuche Mitglieder/models.py zu erweiterten Struktur zu spalten wie:
├── members
| ├── models
| | ├── __init__.py
| | ├── account.py
| | └── blabla.py
| ├── migrations
| ├── templates
| ├── __init__.py
| ├── forms.py
| ├── urls.py
| └── views.py
Python 2.7, Django 1.9 und django-allauth an Bord so in Rechnung .py Ich habe 2 Klassen:
class MyUserManager(UserManager)
und class Account(AbstractBaseUser, PermissionsMixin)
.
In models/init Py
# -*- coding: utf-8 -*-
from account import *
from blabla import *
In Einstellungen AUTH_USER_MODEL = 'members.Account'
Alle Klassen in Modelle haben app_label = 'members'
.
members/__init__.py
ist leer
ich dieses Problem bekommen haben:
RuntimeError: Conflicting 'account_groups' models in application 'members':
<class 'members.models.account.Account_groups'> and <class 'models.account.Account_groups'>.
Irgendwelche Ideen, wie es zu vermeiden?
Danke.
ZUSÄTZLICH:
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
Ihre settings.INSTALLED_APPS hinzufügen –
Siehe http://paltman.com/breaking-apart-models-in-django/ – Kedar
@kedar leider does't Werke, gleiches Problem – johndark