You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django Admin中UserCart模型的menu_item_quantity字段未显示如何解决?

修复Django Admin未显示menu_item_quantity字段的问题

问题出在你的UserCart模型定义里,menu_item_quantity字段末尾多了一个多余的逗号,导致这个字段被Python解析为元组的一部分,而非有效的Django模型字段,所以Django没有识别到这个字段,Admin也就不会显示它。

修复步骤

  1. 移除menu_item_quantity字段行末尾的逗号:
class UserCart(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    menu_item = models.ForeignKey(MenuItem, on_delete=models.CASCADE)
    menu_item_quantity = models.SmallIntegerField(max_length=2)  # 去掉此处多余的逗号
    unit_price = models.DecimalField(max_digits=6, decimal_places=2)
    price = models.DecimalField(max_digits=6, decimal_places=2)

    class Meta:
        unique_together = ('user', 'menu_item')
  1. 执行数据库迁移(模型字段定义变更后需要同步到数据库):
python manage.py makemigrations
python manage.py migrate
  1. 刷新Django Admin页面,此时menu_item_quantity字段即可正常显示。

可选:自定义Admin显示字段

如果需要更精确地控制Admin列表页显示的字段,可以在admin.py中定义ModelAdmin类:

from django.contrib import admin
from .models import Category, MenuItem, Order, OrderItem, UserCart

class UserCartAdmin(admin.ModelAdmin):
    list_display = ('user', 'menu_item', 'menu_item_quantity', 'unit_price', 'price')

admin.site.register(UserCart, UserCartAdmin)

通过list_display可以强制指定列表页要展示的字段,避免依赖Django的默认显示逻辑。

内容的提问来源于stack exchange,提问作者Nabeel Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 07:47:11