在Django Shell中定义模型类失败

在Django Shell中定义模型类失败,第1张

在Django Shell中定义模型类失败

该模型定义必须进来的应用程序-你所看到的错误,就在于它试图拿

__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
一流的,看到的只是上面在该文件中。)



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5655335.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存