Почему я получаю синтаксическую ошибку в make.i gmrations manage.py?
Я делаю тестовый проект с Python и Django (для целей обучения). В какой-то момент мне нужно создать приложение django под названием products, а затем в файле models.py в каталоге приложения products у меня есть этот код:
class Products (models.Model)
title = models.TextField()
description = models.TextField()
price = models.TextField()
и затем после добавления нового приложения в файл настроек, когда я посещаю, чтобы сделать миграции, как показано:
> python manage.py makemigrations
Я получаю эту ошибку:
Traceback (most recent call last):
File "manage.py", line 15, in <module>
execute_from_command_line(sys.argv)
File "C:\django\lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line
utility.execute()
File "C:\django\lib\site-packages\django\core\management\__init__.py", line 347, in execute
django.setup()
File "C:\django\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\django\lib\site-packages\django\apps\registry.py", line 112, in populate
app_config.import_models()
File "C:\django\lib\site-packages\django\apps\config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "C:\django\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 724, in exec_module
File "<frozen importlib._bootstrap_external>", line 860, in get_code
File "<frozen importlib._bootstrap_external>", line 791, in source_to_code
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\django\mystore\products\models.py", line 5
class Products(models.Model)
^
SyntaxError: invalid syntax
"
и затем та же ошибка возникает всякий раз, когда я пытаюсь использовать файл manage.py. Я не знаю, что я сделал неправильно, пожалуйста, помогите мне исправить это.
2 ответа
Вы пропустили двоеточие после объявления класса.
class Products(models.Model):
Также я бы предостерег вас от форматирования. Ваши имена полей должны располагаться слева. В Python две строки, которые не совпадают, считаются разными блоками кода.
Вы пропустили двоеточие после объявления класса
class Products (models.Model) #<<--- no semicolon
title = models.TextField()
description = models.TextField()
price = models.TextField()
Правильный код:
class Products (models.Model): #<<--- colon
title = models.TextField()
description = models.TextField()
price = models.TextField()