Django unicode无法运行

时间:2014-12-09 17:07:35

标签: python django unicode

我正在写Python的新手,我试图设置我的数据库来管理它在django管理面板中。我的问题是,当我定义unicode时,它不起作用,我不知道为什么。

class Doors(models.Model):
door_uid = models.IntegerField(primary_key=True)
door_owner = models.IntegerField()
door_ownertype = models.IntegerField()
door_name = models.CharField(max_length=32)

  class Meta:
    verbose_name = 'Drzwi'
    verbose_name_plural = 'Drzwi'
    managed = True
    db_table = 'hrp_doors'

    def __unicode__(self):
        return self.door_uid

完成后,它仍会显示' HrpDoors对象'。 我做错了什么?

2 个答案:

答案 0 :(得分:2)

不确定为什么会收到HrpDoors个对象。

您可能有缩进问题。你的unicode函数也返回一个整数:

class HrpDoors(models.Model):
    door_uid = models.IntegerField(primary_key=True)
    ...

    class Meta:
        ...

    def __unicode__(self):
        return unicode(self.door_uid)

答案 1 :(得分:1)

在您的情况下,__unicode__属性是class Meta的方法,HrpDoors

的方法应该是class HrpDoors(models.Model): door_uid = models.IntegerField(primary_key=True) door_owner = models.IntegerField() door_ownertype = models.IntegerField() door_name = models.CharField(max_length=32) class Meta: verbose_name = 'Drzwi' verbose_name_plural = 'Drzwi' managed = True db_table = 'hrp_doors' def __unicode__(self): #Look at the indentation of unicode - same level as attributes of class model return u'%s' % self.door_uid #Also, return unicode explicitly

试试这个:

{{1}}

以下是relevant documentation