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

Django Admin向表中添加元素仅提示请修正错误无其他报错如何解决

问题根因

  • 你给普通模型绑定了仅适用于用户模型的BaseUserAdmin管理类:BaseUserAdmin是Django专门为用户身份模型设计的Admin父类,会默认校验用户名、密码等你当前模型不存在的字段,校验失败后就会出现无具体错误提示的「请修正下方错误」提示。
  • 非用户模型中配置的USERNAME_FIELD、REQUIRED_FIELDS属于无效配置,没有任何作用可直接删除。
  • add_fieldsets中的classes参数配置错误:该参数用于给字段块指定CSS样式类,不能填入字段名。
  • 存储容量的capacity字段类型选型不合理:用CharField存储数字类型的容量,还设置了数字类型的默认值,存在类型不匹配的隐患。

修复代码

models.py 修正后

from django.db import models

class Meeting(models.Model):
    time = models.DateTimeField()
    # 改用数字类型存储容量,符合业务属性
    capacity = models.PositiveIntegerField(default=0)

    class Meta:
        # 若原有数据库表名为小写meeting可通过该配置兼容,不用修改表结构
        db_table = "meeting"

admin.py 修正后

from django.contrib import admin
from .models import Meeting

# 普通模型直接继承admin.ModelAdmin即可,不要继承BaseUserAdmin
class MeetingAdmin(admin.ModelAdmin):
    list_display = ('time', 'capacity')
    list_filter = ('time', 'capacity')
    fieldsets = (
        (None, {'fields': ('time', 'capacity')}),
    )
    search_fields = ('time',)
    ordering = ('time',)

# 原有User注册逻辑保留
admin.site.register(User, UserAdmin)
admin.site.register(Meeting, MeetingAdmin)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:06:04