2010-08-16 37 views
1

我有一个数据模型,它是这样定义的:Django的视图来检索模型返回的数据对象名称仅

class SyncJob(models.Model): 
    date = models.DateTimeField() 
    user = models.ForeignKey(User, unique=False) 
    source = models.CharField(max_length=3, choices=FS_CHOICES) 
    destination = models.CharField(max_length=3, choices=FS_CHOICES) 
    options = models.CharField(max_length=10, choices=OPTIONS) 

    def _unicode_(self): 
    return u'%s %s %s' % (self.date, self.source, self.destination) 

而且我有一个看法检索数据:

def retrieve(request): 
    sync = SyncJob.objects.get(id=02) 
    return render_to_response('base.html', {'sync': sync}) 

但当呈现页面时,我只会得到:SyncJob对象 而不是获取日期,源和目标信息。我怎样才能做到这一点,所以我得到这些数据?

+0

另外它应该是'__unicode__'而不是'_unicode_'。 – 2010-08-16 21:09:25

回答

2

关注的特殊的方法命名:

def _unicode_(self): 
    ... 

应该是:

def __unicode__(self): 
    ... 

Python的特殊方法对名字的各端两个下划线。

+0

对于快速捕获+1,这对于django/python的新手来说是一个容易犯的错误,因为当阅读文本__很容易与_混淆。 – marr75 2010-08-16 21:13:21

+0

感谢您的提示! – xzased 2010-08-16 21:27:01

相关问题