【发布时间】:2013-08-14 11:17:53
【问题描述】:
我正在尝试为我在不同应用程序中定义的所有模型添加基类。我创建了一个包为lib/base.py:
from django.db import models
import logging
# Get an instance of a logger
logger = logging.getLogger(__name__)
class Base(models.Model):
class Meta:
abstract = True
现在在不同的主应用程序目录中,我想使用这个基本模型:
from django.db import models
from libs.base import Base
# Create your models here.
class Home(Base):
msg = models.CharField(max_length=100)
@classmethod
def create(cls, msg):
home = cls(msg=msg)
# do something with the book
return home
当我运行服务器时,出现以下错误:
File "/Users/.../home/models.py", line 2, in <module>
from libs.base import Base
ImportError: No module named libs.base
我在这里找不到我缺少的东西?
【问题讨论】:
-
等一下,我希望,您的
lib/base.py不等于您的列表?因为如果ModelBase是一个空类,你应该使用pass -
更正:我将基类名称更新为:
-
from django.db import models import logging # 获取记录器的实例 logger = logging.getLogger(name) class Base(models.Model): class Meta: abstract = 真
-
如果真的没有与
Base类相关的代码,你应该在class ModelBase(models.Model):之后附加一行pass -
换句话说,我认为
lib/base.py的语法有误。尝试通过python执行base.py