0
Django 1.8。 我得到這個錯誤:Django - 應用程序中相互衝突的模型,但路徑相同但不同的情況
Traceback (most recent call last):
[35mrentapp | [0m File "/home/rentapplication/django-rentapplication/manage.py", line 10, in <module>
[35mrentapp | [0m execute_from_command_line(sys.argv)
[35mrentapp | [0m File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
[35mrentapp | [0m utility.execute()
[35mrentapp | [0m File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 312, in execute
[35mrentapp | [0m django.setup()
[35mrentapp | [0m File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup
[35mrentapp | [0m apps.populate(settings.INSTALLED_APPS)
[35mrentapp | [0m File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate
[35mrentapp | [0m app_config.import_models(all_models)
[35mrentapp | [0m File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 198, in import_models
[35mrentapp | [0m self.models_module = import_module(models_module_name)
[35mrentapp | [0m File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
[35mrentapp | [0m __import__(name)
[35mrentapp | [0m File "/home/rentapplication/django-rentapplication/accounts/models/__init__.py", line 3, in <module>
[35mrentapp | [0m from .landlord import Landlord
[35mrentapp | [0m File "/home/rentapplication/django-rentapplication/accounts/models/landlord.py", line 20, in <module>
[35mrentapp | [0m from accounting.models import Account
[35mrentapp | [0m File "/home/rentapplication/django-rentapplication/accounting/models/__init__.py", line 2, in <module>
[35mrentapp | [0m from .transaction import Transaction, RequestedWithdrawal
[35mrentapp | [0m File "/home/rentapplication/django-rentapplication/accounting/models/transaction.py", line 16, in <module>
[35mrentapp | [0m class Transaction(TimeStampedModel):
[35mrentapp | [0m File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 309, in __new__
[35mrentapp | [0m new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
[35mrentapp | [0m File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 221, in register_model
[35mrentapp | [0m (model_name, app_label, app_models[model_name], model))
[35mrentapp | [0mRuntimeError: Conflicting 'transaction' models in application 'accounting': <class 'accounting.models.Transaction.Transaction'> and <class 'accounting.models.transaction.Transaction'>.
我的情況如下:
accounting
api
migrations
models
__init__.py
account.py
transaction.py
在初始化我有以下代碼:
from .account import Account
from .transaction import Transaction, RequestedWithdrawal
我沒有從那裏Django的想法想出了大寫事務包,我沒有在代碼中的任何地方使用它。 那麼,爲什麼我有這個錯誤,以及如何解決它?
UPDATE。 account.py進口
import StringIO
import csv
import logging
from decimal import Decimal
from django.conf import settings
from django.db import models
from django.db.models import Q
from django_extensions.db.models import TimeStampedModel
from notifications import notify
logger = logging.getLogger(__name__)
from accounting.tasks import notify_of_withdrawal_request_action
landlord.py進口
import datetime
import logging
from decimal import Decimal
from collections import Counter
import random
import string
import analytics
from django.utils.timezone import utc
from django.utils.functional import cached_property
from django.utils.timezone import now
from django.db import models, transaction
from django.contrib.auth.models import User
from django_extensions.db.models import TimeStampedModel
from easy_thumbnails.fields import ThumbnailerImageField
from jsonfield import JSONField
import stripe
from rentapplication.utils import generate_random_slug
from applications.models import ApplicationTemplate
from accounting.models import Account
from reports.models import Report, ReportSourceProfile, ReportSource
from django.core.exceptions import ValidationError
from django.contrib.auth.tokens import default_token_generator
from django.conf import settings
import base64
transaction.py進口
import logging
from decimal import Decimal
logger = logging.getLogger(__name__)
from django.db import models
from django_fsm import FSMField, transition
from django_extensions.db.models import TimeStampedModel
from reports.models import Report
import stripe
對於模型,我沒有使用__init__方法,即時使用__init__文件模型包將模型分成不同的文件,沒有看到任何反對它的文檔,如果你這樣做 - 請提供一個鏈接。問題是我的模型有不同的情況,它導致了一個錯誤,而我當然只有一條路徑。 – Aldarund
您可以從'landlord.py',''account.py'和'transation.py'添加您的導入嗎? – sudshekhar
是的,我已經添加了導入 – Aldarund