Django:无法访问管理面板中的对象

Django:无法访问管理面板中的对象,django,Django,单击AdminPanel中的对象购物车或购物车项目时,我得到: >>> carts = Cart.objects.all() >>> carts Traceback (most recent call last): File "<console>", line 1, in <module> File "D:\virtual_envs\stickers_gallito\lib\site-packages\django\db\mod

单击AdminPanel中的对象购物车或购物车项目时,我得到:

>>> carts = Cart.objects.all()
>>> carts
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "D:\virtual_envs\stickers_gallito\lib\site-packages\django\db\models\query.py", line 247, in __repr__
    return '<%s %r>' % (self.__class__.__name__, data)
  File "D:\virtual_envs\stickers_gallito\lib\site-packages\django\db\models\base.py", line 503, in __repr__
    return '<%s: %s>' % (self.__class__.__name__, self)
TypeError: __str__ returned non-string (type int)
模板呈现期间出错

在模板D:\virtual\u envs\stickers\u gallito\lib\site packages\django\contrib\admin\templates\admin\base.html中,第0行出现错误
str返回非字符串(int类型)

在shell中查询这些对象时,我得到:

>>> carts = Cart.objects.all()
>>> carts
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "D:\virtual_envs\stickers_gallito\lib\site-packages\django\db\models\query.py", line 247, in __repr__
    return '<%s %r>' % (self.__class__.__name__, data)
  File "D:\virtual_envs\stickers_gallito\lib\site-packages\django\db\models\base.py", line 503, in __repr__
    return '<%s: %s>' % (self.__class__.__name__, self)
TypeError: __str__ returned non-string (type int)

可能有什么问题?

例外情况为您提供了有关问题的线索:

TypeError:
\uuuu str\uuuu
返回非字符串(type
int

您定义了一个
\uuuu str\uuu
方法,该方法返回的是整数ID,而不是字符串,因此出现了错误。您需要将值强制为字符串:

def __str__(self):
    return str(self.id)

还请注意,
self.id
是数据库中自动生成的行id,与
self.cart\u id
不同。如果您使用后者来识别您的购物车,那么您可能希望使用后者。

例外情况为您提供了有关问题所在的线索:

TypeError:
\uuuu str\uuuu
返回非字符串(type
int

您定义了一个
\uuuu str\uuu
方法,该方法返回的是整数ID,而不是字符串,因此出现了错误。您需要将值强制为字符串:

def __str__(self):
    return str(self.id)

还请注意,
self.id
是数据库中自动生成的行id,与
self.cart\u id
不同。如果您使用后者来识别您的购物车,您可能希望使用后者。

ty。请参考
self.cart\u id
,检查我的另一个问题:ty。请参考
self.cart\u id
,检查我的另一个问题: