2013-04-21 50 views
-1

我有一个名为Finhall的模型及其下的字段。但在我看来,我想要获得用户点击的state字段的值,以过滤同一状态中的其他地方。尝试此代码后,我发现了以下错误:在Django中查看NameError

    global name 'finhall' is not defined 

模型

class Finhall(models.Model): 
    user=models.ForeignKey(User) 
    name=models.CharField(max_length=250, unique=True) 
    address=models.CharField(max_length=200) 
    city=models.CharField(max_length=200) 
    state=models.CharField(max_length=200, help_text='Las vegas') 

    def __unicode__(self): 
     return u'%s' % (self.name) 

查看

def homedetail(request,finhall_id,slug): 
    qs=Finhall.objects.all() 

    try: 
     post=qs.get(id=finhall_id,slug=slug) 
    except Finhall.DoesNotExist: 
     post=None 

    if post: 
     similar_posts=qs.filter(finhall.state) #this line is causing the error 

    else: 
     similar_posts=Finhall.objects.none() 
    return render_to_response('homedetail.html',{'post':post,'similar_posts':similar_posts},context_instance=RequestContext(request)) 

我一直在试图整天解决这个错误,但没有成功!

+2

为什么'finhall.state'?它不应该是'post.state'吗? – Matthias 2013-04-21 13:55:29

+0

我试过了,我得到了同样的错误! :( – picomon 2013-04-21 14:01:02

+0

重启我的服务器后,我得到太多的值来解压错误。任何想法? – picomon 2013-04-21 14:04:12

回答

1

下面是我的固定线路:

similar_posts=qs.filter(state=post.state) 

感谢马蒂亚斯的想法!

0

您是否导入了库?

from app.models import Finhall 

复制模型以获取更多信息。

+0

是的,我已经导入了每个图书馆! – picomon 2013-04-21 13:48:40