Django AttributeError: модуль «клиенты» не имеет атрибута «модели» - PullRequest
0 голосов
/ 15 мая 2018

Я запускаю эту команду python manage.py makemigrations clients и получаю AttributeError. Вот мои модели;

from django.db import models
import datetime
import calendar
import clients.models
from django.core.urlresolvers import reverse


# Create your models here.


class PartnerInfo(models.Model):
    name = models.CharField(max_length=100)
    email = models.CharField(max_length=100)
    phone = models.IntegerField()
    price = models.IntegerField()


class NewPartnerLead(models.Model, LeadStage):
    new_name = models.CharField(max_length=50)
    email = models.CharField(max_length=50)
    phone_num = models.IntegerField()
    lead_stage = LeadStage.lead_stage()


class Booking(models.Model, ClientLead):
    number_of_bookings = models.IntegerField()
    clients_name = ClientLead.client_name()
    clients_phone = ClientLead.phone_number()
    clients_email = ClientLead.email_address()

    class BookingDetail(Booking):
        start_date = datetime.datetime.date()
        end_date = datetime.datetime.date()
        destination = models.CharField(max_length=50)

        @static
        def number_of_days(self, start_date, end_date):

            return end_date-start_date


class Payment(models.Model, PartnerInfo.price, Booking.BookingDetail.number_of_days):
    cash_out = models.IntegerField()

    @static
    def client_payment(self, number_of_days, price):
        return price*number_of_days

    @static
    def provider_cut(self, client_payment):
        provider_cut = 0.8*client_payment
        return provider_cut

    @static
    def balance(self, provider_cut):
        provider_cut-cash_out

class Action(Actions):
    status = Actions.status()
    action = Actions.action()

моделей на clients.py

    class ClientLead(models.Model):
    client_name = models.CharField(max_length=100)
    phone_number = models.IntegerField()
    email_address = models.CharField(max_length=50)


class LeadStage(models.Model):
    lead_stage = models.IntegerField()

    @static
    def lead_status(self, lead_stage):
        if lead_stage == 1:
            lead_status = 'cold'
        if lead_stage == 2:
            lead_status = 'interested'
        if lead_stage == 3:
            lead_status = 'engaged(verbally agreed to pay)'
        if lead_stage == 4:
            lead_status = 'sold'
        return lead_status


class Detail(models.Model, partners.models.Booking):
    client = models.ForeignKey(Client_lead, on_delete=models.CASCADE)
    destination = models.CharField(max_length=20)
    number_of_days = models.IntegerField()
    delivery = models.CharField(max_length=4)
    start = Bookings.booking_detail.startdate()
    end = Bookings.booking_detail.enddate()

    class CarDetails(models.Model):
        car_type = models.CharField(max_length=50)
        car_model = models.CharField(max_length=50)
        car_make = models.CharField(max_length=50)
        model_year = models.IntegerField()
        car_price = models.IntegerField()

    @static
    def opportunity(self, car_price, number_of_days):
        return car_price*number_of_days+delivery


class Actions(models.Model, Leadstage, Detail):
    request_start = Detail.start()
    request_destination = Detail.destination()
    request_delivery = Detail.delivery()
    status = models.ForeignKey(Lead_stage, on_delete=models.cascade)
    action = models.charfield(max_length=100

когда я пытаюсь выполнить команду makemigrations, она вызывает вышеупомянутую ошибку атрибута. когда я импортирую определенные классы, которые мне нужны из partners.models, я получаю ошибку импорта.

Вот ошибка атрибута, которую он продолжает вызывать:

   c:\users\marsha11\source\repos\telemetree\telemetree>python manage.py   makemigrations clients
   Traceback (most recent call last):
   File "manage.py", line 17, in <module>
   execute_from_command_line(sys.argv)
  File "c:\users\marsha11\source\repos\telemetree\telemetree\env\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "c:\users\marsha11\source\repos\telemetree\telemetree\env\lib\site-packages\django\core\management\__init__.py", line 338, in execute
    django.setup()
  File "c:\users\marsha11\source\repos\telemetree\telemetree\env\lib\site-packages\django\__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "c:\users\marsha11\source\repos\telemetree\telemetree\env\lib\site-packages\django\apps\registry.py", line 108, in populate
    app_config.import_models()
  File "c:\users\marsha11\source\repos\telemetree\telemetree\env\lib\site-packages\django\apps\config.py", line 202, in import_models
    self.models_module = import_module(models_module_name)
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "c:\users\marsha11\source\repos\telemetree\telemetree\clients\models.py", line 8, in <module>
    import partners.models
  File "c:\users\marsha11\source\repos\telemetree\telemetree\partners\models.py", line 19, in <module>
    class NewPartnerLead(models.Model, clients.models.LeadStage):
AttributeError: module 'clients' has no attribute 'models'

Я думал, что это из-за импорта, но он все еще не работает и не выяснил, почему это происходит онлайн.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...