Django Python 列表对象错误

1 投票
1 回答
664 浏览
提问于 2025-04-18 13:24

我在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()

1 个回答

4

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

def __unicode__(self):  
    return self.name_txt

撰写回答