Я запускаю эту команду 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'
Я думал, что это из-за импорта, но он все еще не работает и не выяснил, почему это происходит онлайн.