Django电商项目Admin视图问题:修改OrderItem的__str__显示格式
解决Django Admin中OrderItem显示关联Order标识的问题
直接修改models.py中OrderItem类的__str__方法,即可实现要求的显示格式。同时考虑到order字段允许为null,增加空值判断避免运行时报错:
class OrderItem(models.Model): # 其他字段保持不变... def __str__(self): # 处理订单为空的情况,避免AttributeError order_id_str = f"Order#{self.order.id}" if self.order else "无关联订单" return f"OrderItem#{self.id}-{order_id_str}"
说明:
- 原
__str__方法仅返回Order Item - #X格式,修改后拼接了关联订单的标识 - 加入
if self.order的判断,是因为你的模型中order字段设置了null=True,当存在无关联订单的OrderItem时(比如手动在Admin创建),不会抛出属性错误 - 修改后,Admin页面的OrderItem列表会显示为
OrderItem#X-Order#Y的格式,完全符合需求
内容的提问来源于stack exchange,提问作者bailofwZ
相关产品推荐
相关产品推荐

