为了账号安全,请及时绑定邮箱和手机立即绑定

django错误__str__返回非字符串(类型__proxy__)

django错误__str__返回非字符串(类型__proxy__)

慕后森 2021-05-30 04:40:02
我有使用一些模型GenericForeignKey,当我试图进入他们Django管理util的,我可以看到的记录列表,但是当我点击其中一个,我得到这个错误:__str__ returned non-string (type __proxy__)。这是其中一种模型的代码:class ReservationComponent(models.Model):    reservation = models.ForeignKey(Reservation, on_delete=models.PROTECT, related_name='components', verbose_name=_(''))    day = models.DateField(verbose_name=_('Day'))    content_type = models.ForeignKey(ContentType, on_delete=models.PROTECT)    object_id = models.PositiveIntegerField()    content_object = GenericForeignKey('content_type', 'object_id')    class Meta:        verbose_name = _("Reservation Component")        verbose_name_plural = _("Reservations Components")    def __str__(self):        return "[{}][{}]{} - [{}]{}".format(self.id, self.reservation, self.day, self.content_type, self.object_id)
查看完整描述

2 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

我试图重现这个问题,我做到了。问题出在ugettext_lazy

您应该使用ugettext而不是ugettext_lazy。因此,您的导入应为

from django.utils.translation import ugettext as _


测试环境为 Django==1.11


查看完整回答
反对 回复 2021-06-01
  • 2 回答
  • 0 关注
  • 221 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信