Django-无法从其他应用程序导入模型文件

时间:2018-08-17 00:41:51

标签: python django

我正在尝试将模型从另一个应用程序导入到某个应用程序中,但是会引发错误。

enter image description here

from django.db import models
from ..book.models import Book


class Cart:
    books = models.ManyToManyField(Book)

错误:

ValueError: attempted relative import beyond top-level package

但如果我这样做:

from django.db import models
from book.models import Book


class Cart:
    books = models.ManyToManyField(Book)

PyCharm将抱怨。上面写着“未解决的参考书”。

这还行不通:

from django.db import models
from shop.book.models import Book


class Cart:
    books = models.ManyToManyField(Book)

错误:

ModuleNotFoundError: No module named 'shop.book'

3 个答案:

答案 0 :(得分:0)

您应该尝试使用函数导入。 def make_it_im_port(self): import(x) 然后调用该函数。

答案 1 :(得分:0)

确保book作为应用程序存在于INSTALLED_APPS内的settings.py列表中

答案 2 :(得分:0)

使用以下代码时,您的代码可以正常工作。这是pycharm问题,您可以执行this

来解决pycharm问题
from django.db import models
from book.models import Book 
class Cart:
    books = models.ManyToManyField(Book)