Django错误 - 未定义全局名称'has_auto'

时间:2013-06-03 16:07:53

标签: django django-models

这让我疯了!!!!

我有一个模型并试图简单地调用一个方法。下面的代码“没有”错误,没有。但是我一直在......

全局名称'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中!任何人都知道这里发生了什么事,这让我很生气!

1 个答案:

答案 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()

希望这有帮助!