
该模型定义必须进来的应用程序-你所看到的错误,就在于它试图拿
__name__
model_module-这应该是这样
project.appname.models的
projectappnamemodels.py-并获得应用程序的名称,
appname。在交互式控制台中,模块的位置
__name__为
'__main__'-,因此失败。
为了解决这个问题,您需要
app_label在
meta课程中指定自己。
>>> from django.db import models>>> class Poll(models.Model):... question = models.CharField(max_length=200)... pub_date = models.DateTimeField('date published')... class meta:... app_label = 'test'为了解释为什么可以这样做,请查看回溯中提到的文件
D:Python25libsite-packagesdjangodbmodelsbase.py:
if getattr(meta, 'app_label', None) is None: # Figure out the app_label by looking one level up. # For 'django.contrib.sites.models', this would be 'sites'. model_module = sys.modules[new_class.__module__] kwargs = {"app_label": model_module.__name__.split('.')[-2]} else: kwargs = {}(如果
meta是
meta一流的,看到的只是上面在该文件中。)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)