Django自定义模型方法引发属性错误
我真的希望我不必为此求助于SO,但它现在让我发疯了,所以就这样Django自定义模型方法引发属性错误,django,django-models,Django,Django Models,我真的希望我不必为此求助于SO,但它现在让我发疯了,所以就这样 # models.py [...] from datetime import datetime as dt class Foo(models.Model): [...] date_time = models.DateTimeField(auto_now_add=True) class Meta: ordering = ['-date_time'] def is_fresh(sel
# models.py
[...]
from datetime import datetime as dt
class Foo(models.Model):
[...]
date_time = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-date_time']
def is_fresh(self):
if (dt.now() - self.date_time).seconds < settings.FOO_LIFESPAN:
return True
else:
return False
def __unicode__(self):
return u'%s|%s %s' % ([...], self.date_time)
我想出来了,我想踢墙 问题与我的文件结构以及如何导入模型有关。我有两个应用程序共享相同的models.py,因此我将其放在一个单独的文件夹中,如下所示:
my_project/
|
backend/
|
models/
- __init__.py
- models.py
在ajax.py中,我是这样导入Foo的:从我的_project.backend.models导入Foo,…
。它可以满足我所需要的一切,直到is\u fresh()
出现。我刚刚从我的_project.backend.models.models import Foo、中尝试了,瞧,它成功了!我觉得自己很傻
如果有人能告诉我为什么…backend.models
适用于除我的自定义方法之外的所有方法,但我需要…backend.models.models
来获得完整的功能,我很高兴知道这一点 您正在导入模型吗<来自django.db导入模型的code>向我们展示如何使用/调用是新鲜的
。如果您想要更精确,也可以使用.total_seconds()
而不是.seconds
。您可以在视图中显示一个示例用法吗?问题是列表foo_list
是如何构建的,这是您的问题或问题的可能根源。我应该补充的是,它不仅在调用seek_bar()时给我带来了这个错误,但是当我对shell中的Foo对象调用is_fresh()时也是如此。
my_project/
|
backend/
|
models/
- __init__.py
- models.py