我的前端一切正常,当我尝试访问管理面板中的订单时出现此问题。在我的控制台中,它还显示:
cursor.close()
sqlite3.ProgrammingError: Cannot operate on a closed database.
我试图找出问题出在哪里,但是失败了。为什么这会引发错误? 谁能帮我解决这个问题?预先感谢!
我的模型。py:
class Order(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
ref_code = models.CharField(max_length=20)
ordered = models.BooleanField(default=False)
def __str__(self):
return self.user.username
我的管理员:
class OrderAdmin(admin.ModelAdmin):
list_display = ['user', 'ordered', 'being_delivered', 'received', 'refund_requested',
'refund_granted', 'shipping_address', 'billing_address', 'payment', 'coupon']
list_filter = ['ordered', 'being_delivered', 'received', 'refund_requested', 'refund_granted']
list_display_links = ['user', 'shipping_address', 'billing_address', 'payment', 'coupon']
search_fields = ['user__username', 'ref_code']
admin.site.register(Order, OrderAdmin)
答案 0 :(得分:1)
请更改以下型号。py-
发件人:
def __str__(self):
return self.user.username
收件人:
def __str__(self):
return str(self.id)
原因:最好不要将__str__
方法作为模型的外键返回。如果发生if username is None
冲突,那么将会发生什么。