无法获取<class'mongoengine.queryset.queryset.queryset'=“”> </class>的repr

时间:2015-03-31 15:07:25

标签: python orm mongoengine

使用mongoengine和django ORM时,抛出以下异常。

Unable to get repr for <class 'mongoengine.queryset.queryset.QuerySet'>

奇怪的是它在一台机器上运行而没有抛出这个错误(在两者上安装所需的软件包之后)

模型如下:

class Purchase(Document):
    _id = DynamicField(primary_key=True)
    customer_id = IntField()
    product_id = IntField()
    price = DynamicField()
    page = IntField()
    name = DynamicField()

并在以下情况下抛出异常:

Tags.objects.all()

我在互联网上找到了这个问题,我找不到答案。

任何人都知道可能导致这种情况的原因是什么? (我猜测模块版本之间存在差异)

1 个答案:

答案 0 :(得分:1)

您需要在类上实现__repr__方法,如:

class Purchase(Document):
    enter code here`_id = DynamicField(primary_key=True)
    customer_id = IntField()
    product_id = IntField()
    price = DynamicField()
    page = IntField()
    name = DynamicField()

    def __repr__(self):
      return 'Customer ID: ' + str(self.custmer.id)