我有以下型号:
class MyModel(models.Model):
# ...
class Meta:
managed = False
db_table = 'legal_entities'
def __unicode__(self):
return self.name_short
视图
def my_view(response):
my_model = MyModel.objects.get(id = ...)
response = u'АБВГД + my_model #TypeError: coercing to Unicode: need
#string or buffer, LegalEntityOwn found
试图尝试各种选择时,我的脑袋一下子。任何想法如何解决它?
答案 0 :(得分:3)
你需要调用unicode()函数来转换你的对象,在本例中是一个unicode字符串中的my_model。
def my_view(response):
my_model = MyModel.objects.get(id = ...)
response = u'АБВГД '+ unicode(my_model)
或者您可以使用更清洁的方式:
def my_view(response):
my_model = MyModel.objects.get(id = ...)
response = u'АБВГД %s' % my_model
答案 1 :(得分:0)
my_model
变量是模型MyModel
的一个实例,你应该这样做:
response = u'АБВГД ' + my_model.short_name
__unicode__
方法的结果是您可以在管理员中看到的模型实例的表示。