答案 0 :(得分:0)
在你的模特中试试这个:
#Remove the import statement: from blog.models import sighinmodel
#Then, inside your model
user = models.ForeignKey('blog.sighinmodel' , on_delete = None)
另外,我想指出这不是在models.py中导入其他模块的正确方法。
你应该这样做:
from appname.models import ModelName
#for importing from another module's models.
Django中的import语句中不需要相对路径名。 from appname.module import function/class
几乎适用于所有情况,直到发生循环冗余,您必须在许多方法中采用一种方法。一个是我上面提到的方式:
方法1 :简单地将它放在ModelClass中。不要进口任何东西。
user = models.ForeignKey('blog.sighinmodel' , on_delete = None)
方法2 (当没有出现循环导入条件时)
from blog.models import sighinmodel
class SomeModel(models.Model):
user = models.ForeignKey(sighinmodel , on_delete = None)
注意:只有在未进行循环导入的情况下,上述操作才有效。如果发生循环导入条件,请切换回第一种声明方法。
希望这会有所帮助。感谢。
答案 1 :(得分:0)
此错误即将发生,因为不允许超出顶级包的相对导入。您的博客本身就是一个模块,因此,如果您从那里导入模型,它将起作用。
from blog.models import User, sighinmodel
我还建议您使用CamelCase作为模型名称,因为它们是命名约定的类。