序言
之前写项目的时候遇到一个问题,卡了我几天,还好最终得以解决。问题如下:
Unable to get repr for <class ‘django.db.models.query.QuerySet’>
详情
我尝试使用WordPress的数据库进行一个Blog项目的编写,但是在渲染一篇文章的时候,一直有部分内容无法正常显示,调试的时候总会出现“Unable to get repr for <class ‘django.db.models.query.QuerySet’>”这个错误,查询没有任何返回。
使用WordPress数据库重新建立的models 类中的 __str__()
方法由于我不太熟悉,直接就返回了类的值,如下:
class TermRelationships(models.Model):
object_id = models.BigIntegerField(primary_key=True)
term_taxonomy_id = models.BigIntegerField()
term_order = models.IntegerField()
class Meta:
db_table = 'wp_term_relationships'
unique_together = (('object_id', 'term_taxonomy_id'),)
def __str__(self):
return self.object_id, self.term_taxonomy_id, self.term_order
就导致了上述的错误Unable to get repr for <class 'django.db.models.query.QuerySet'>
然后通过多方查找资料并阅读别人写好的blog源代码,并通过尝试,终于解决了这个问题,查询也是有结果了:
taxonomys =<QuerySet [<TermRelationships: 608, 98, 0>, <TermRelationships: 608, 101, 0>, <TermRelationships: 608, 102, 0>, <TermRelationships: 608, 103, 0>, <TermRelationships: 608, 104, 0>, <TermRelationships: 608, 105, 0>]>
方法很简单,就是把需要的字段通过字符串的方式返回,以上述为例:
class TermRelationships(models.Model):
object_id = models.BigIntegerField(primary_key=True)
term_taxonomy_id = models.BigIntegerField()
term_order = models.IntegerField()
class Meta:
db_table = 'wp_term_relationships'
unique_together = (('object_id', 'term_taxonomy_id'),)
def __str__(self):
return u"%s, %s, %s" % (self.object_id, self.term_taxonomy_id, self.term_order)
结语
会者不难,确实是这样的,但就是这个简单的问题,卡了我两三天。在这里记录一下,给自己一个警醒,能帮到需要的人那就更好了~
如有错误,敬请指出,感谢指正! — 2019-08-27 21:33:00 于苏州
最新评论
我想请问下。您这部署后能够上传附件图片吗?我按照您的方式部署后。能运行。但是无法上传附件,图片。
感谢教程,但是我安装后无法上传附件。图片什么的都上传不了。您这可以吗
你这个能够添加附件图片吗?我怎么无法上传图片附件呢。。
这个软件有bug的,客户端windows有些键不能用如逗号、句号
没有收到邮件通知
我的评论通知貌似坏掉了,定位一下问题
测试一下重新部署后的邮件功能
居然看到自己公司的MIB库,诚惶诚恐