0

这让我发疯!!!!

我有一个模型并试图简单地调用一个方法。下面的代码没有任何问题,没有。但是我一直在...

未定义全局名称“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 中!任何人都知道这里发生了什么,这让我发疯!

4

1 回答 1

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

希望这可以帮助!

于 2013-06-03T16:10:48.513 回答