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

无法添加PerformanceReview模型实例,Django Admin面板异常

Django中PerformanceReview模型无法创建实例的问题

我用Django开发Web应用学习已有数月,给多个模型实现了类视图(CBV)和函数视图(FBV)来新增数据条目,但PerformanceReview模型出现异常:

  • 最初用CBV无法添加实例,切换到FBV后,不管是通过forms.py还是直接模板提交,控制台无报错、页面跳转正常,但数据库里始终没有新增条目
  • 尝试通过Django Admin面板创建时,系统提示“绩效评估“PerformanceReview object (1e549e2c-4b3d-4030-9007-b889265ed908)”已成功添加。”,但对象列表为空;点击提示中的链接,显示:

不存在ID为“1e549e2c-4b3d-4030-9007-b889265ed908”的绩效评估,可能已被删除?

已执行的排查步骤

  • 执行了makemigrations和migrate命令
  • 应用其他功能运行正常
  • Admin.py中已注册该模型
  • Admin表单所有字段显示正常
  • 字段验证器工作正常

Admin注册代码

from django.contrib import admin
from . models import PerformanceReview
# Register your models here.

admin.site.register(PerformanceReview)

PerformanceReview模型代码

class PerformanceReview(models.Model):
    job_instance = models.ForeignKey(JobInstance, on_delete=models.SET_NULL, null=True)
    employee = models.ForeignKey(Employee, on_delete=models.SET_NULL, null=True, blank=True)
    performance_review_id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    year = models.IntegerField(validators=[MinValueValidator(2022), MaxValueValidator(2060)], blank=False, null=False)

    hr_created = models.DateTimeField(null=True, blank=True)
    employee_submitted = models.DateTimeField(null=True, blank=True)
    manager_submitted = models.DateTimeField(null=True, blank=True)
    hr_submitted = models.DateTimeField(null=True, blank=True)

    done_employee = models.BooleanField(default=False, null=True, blank=True)

    # 请以1-5分的等级评估你的整体工作质量,并举例说明你最优质的工作成果
    quality_rating_grade = models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(5)], blank=True, null=True)
    quality_rating = models.TextField(max_length=2000, null=True, blank=True)

    # 你是否能持续满足项目截止日期?以1-5分评估你的按时交付表现,并举例说明你在哪些项目中出色完成了交付
    on_time_delivery_rating_grade = models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(5)], blank=True, null=True)
    on_time_delivery_rating = models.TextField(max_length=2000, null=True, blank=True)

    # 以1-5分评估你管理工作负载和优先级的效率,并举例说明你如何高效管理时间和资源
    workload_management_rating_grade = models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(5)], blank=True, null=True)
    workload_management_rating = models.TextField(max_length=2000, null=True, blank=True)

    # 以1-5分评估你工作中的细节关注度和准确性,并举例说明你的细节关注对项目产生重大影响的案例
    attention_to_detail_rating_grade = models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(5)], blank=True, null=True)
    attention_to_detail_rating = models.TextField(max_length=2000, null=True, blank=True)

已尝试的解决方法

  • 修改模型后重新执行迁移
  • 通过forms.py创建实例
  • 仅通过HTML模板直接提交数据
  • 切换使用函数视图和类视图
  • 用多个用户账号测试
  • 在Admin面板中测试创建操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 15:22:49