这让我疯了!!!!
我有一个模型并试图简单地调用一个方法。下面的代码“没有”错误,没有。但是我一直在......
全局名称'has_auto'未定义
它定义,缩进是正确的,并且相同的代码可以在任何其他文件中使用。代码如下:
class Reply(models.Model):
message = models.TextField(help_text="Message from number")
#FK
keyword = models.ForeignKey(Keyword, related_name="Inbox")
class Meta:
app_label = 'sms'
verbose_name_plural = u'Message Replies'
def __unicode__(self):
return self.message
def has_auto(self):
pass
def save(self, *args, **kwargs):
has_auto()
super(Reply, self).save()
该模型名为reply.py,在模型文件夹中,我已经知道init__.py有:
"""
.. autoclass:: Gateway
:members:
.. autoclass:: Message
:members:
.. autoclass:: Originator
:members:
.. autoclass:: Reply
:members:
.. autoclass:: Keyword
:members:
.. autoclass:: Template
:members:
"""
from gateway import Gateway
from message import Message
from originator import Originator
from reply import Reply
from batch import Batch
from keyword import Keyword
from template import Template
Gatewat和所有其他模型使用相同的测试,问题只在Reply.py中!任何人都知道这里发生了什么事,这让我很生气!
答案 0 :(得分:3)
您的save
方法:
def save(self, *args, **kwargs):
has_auto() #error
super(Reply, self).save()
您需要致电:self.has_auto()
def save(self, *args, **kwargs):
self.has_auto()
super(Reply, self).save()
希望这有帮助!