Я пытаюсь разбить models.py на несколько файлов внутри папки.
Как правильно это сделать?
все методы в inte rnet от 8 лет до go и сейчас он не работает.
ОБНОВЛЕНИЕ 1:
test1
__init__.py
admin.py
apps.py
tests.py
views.py
migrations
models
__init__.py
comment.py
like.py
post.py
profile.py
внутри init .py
from django.db import models
from django.conf import settings
from .like import Like
from .post import Post
from .profile import Profile
from .comment import Comment
внутри comment.py
class Comment(models.Model):
commented_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
for_post = models.ForeignKey(Post, on_delete=models.CASCADE)
внутри like.py
class Like(models.Model):
liked_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
post = models.ForeignKey(Post, on_delete=models.CASCADE)
внутри post.py
class Post(models.Model):
posted_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
внутри profile.py
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
при попытке чтобы сделать миграцию:
python manage.py makemigrations test1
Я получил эту ошибку:
(sandbox-qFsmxchL) λ python manage.py makemigrations test1
Traceback (most recent call last):
File "manage.py", line 21, in <module>
main()
File "manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "C:\Users\USER\.virtualenvs\sandbox-qFsmxchL\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "C:\Users\USER\.virtualenvs\sandbox-qFsmxchL\lib\site-packages\django\core\management\__init__.py", line 377, in execute
django.setup()
File "C:\Users\USER\.virtualenvs\sandbox-qFsmxchL\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\USER\.virtualenvs\sandbox-qFsmxchL\lib\site-packages\django\apps\registry.py", line 114, in populate
app_config.import_models()
File "C:\Users\USER\.virtualenvs\sandbox-qFsmxchL\lib\site-packages\django\apps\config.py", line 211, in import_models
self.models_module = import_module(models_module_name)
File "c:\users\USER\appdata\local\programs\python\python38-32\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\USER\Desktop\sandbox\test1\models\__init__.py", line 4, in <module>
from .like import Like
File "C:\Users\USER\Desktop\sandbox\test1\models\like.py", line 2, in <module>
class Like(models.Model):
NameError: name 'models' is not defined