ModuleNotFoundError:尝试添加外键约束时没有名为'project.app'的模块?



这是我的models.py文件:

from django.db import models
from django.contrib.auth.models import User
# Create your models here.
class CategoryList(models.Model):
Category = models.CharField(max_length=200)
Cat_Img = models.ImageField(upload_to='cat_media')
Active = models.BooleanField(default=True)
class ImgDetails(models.Model):
Img = models.ImageField(upload_to='media')
Category = models.ForeignKey(CategoryList, default=1, on_delete=models.SET_DEFAULT, null=False)
keywords = models.CharField(max_length=255)
UserDetail = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
Valid = models.BooleanField(default=False)
UploadDate = models.DateTimeField(auto_now_add=True)

我试图用CategoryListImgDetails上添加一个外键约束。它抛出错误

from cam_project.cam_app.models import CategoryList
ModuleNotFoundError: No module named 'cam_project.cam_app'

我尝试导入from cam_project.cam_app.models import CategoryList,但仍然没有任何进展。如有任何建议,我们将不胜感激。

如果您的models.pycam_app中,您可以使用:

from .models import CategoryList

或者,如果你正在导入另一个应用程序的models.py,你也应该指定应用程序名称:

from .app.models import Model

确保包含cam_project的目录必须在PYTHONPATH中。

您可以检查sys.path

要添加它,您可以:

export PYTHONPATH=<YOUR_DIR>:$PYTHONPATH

我认为错误不在models.py中。您的外键约束运行良好。你似乎在其他文件中导入CategoryList(我猜views.py(在django中,绝对导入是相对于你的manage.py的。所以我认为你的进口应该是

from cam_app.models import CategoryList

相关内容

最新更新