【问题标题】:Django python error when list object列表对象时的Django python错误
【发布时间】:2014-07-15 13:13:56
【问题描述】:

我在 models.py 中有一个 Patient 类

class Patient(models.Model):
        cpf_id = models.CharField(null=True, blank=True, max_length=15, unique=True, validators=[validate_cpf])
        rg_id = models.CharField(max_length=15, null=True, blank=True)
        name_txt = models.CharField(max_length=50)
        number_record = models.AutoField(primary_key=True)
        medical_record_number = models.CharField(max_length=25, null=True, blank=True)
        natural_of_txt = models.CharField(max_length=50, null=True, blank=True)
        citizenship_txt = models.CharField(max_length=50, null=True, blank=True)
        street_txt = models.CharField(max_length=50, null=True, blank=True)

        class Meta:
            permissions = (
                ("view_patient", "Can view patient"),
            )

        def __unicode__(self):  # Python 3: def __str__(self):
            return \
                self.name_txt, self.cpf_id, self.rg_id, self.medical_record_number,                                             self.natural_of_txt, \
                self.citizenship_txt, self.street_txt

当我将一个变量赋予所有对象或过滤某些对象时,例如,

patient = Patient.objects.all()

好的,没有消息错误。

但是当我尝试列出这些对象时,我收到以下消息错误

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 74, in     __repr__
    return repr(data)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 423, in     __repr__
    u = six.text_type(self)
TypeError: coercing to Unicode: need string or buffer, tuple found

编辑:

当我在 shell 中输入数字时会出现该代码

>>> patient

列出我创建的对象

>>>> patient = Patient.objects.all()

【问题讨论】:

    标签: python django traceback


    【解决方案1】:

    __unicode__() 应该返回一个字符串,而不是元组:

    def __unicode__(self):  
        return self.name_txt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 2022-11-30
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 2017-02-19
      相关资源
      最近更新 更多