我有使用一些模型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
添加回答
举报
0/150
提交
取消