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

Django后台添加SampleType数据后自动消失问题求助

解决Django后台添加SampleType数据提示成功但数据库无数据的问题
  • 检查模型的自定义save方法
    如果你给SampleType添加了自定义的save()方法,必须确保调用父类的save方法,否则数据不会写入数据库。示例:

    class SampleType(models.Model):
        name = models.CharField(max_length=20)
        
        def save(self, *args, **kwargs):
            # 你的自定义逻辑
            super().save(*args, **kwargs)  # 这行必须存在
    
  • 检查Admin类的save_model方法
    若注册Admin时自定义了save_model,要确保执行了对象保存操作:

    from django.contrib import admin
    from .models import SampleType
    
    class SampleTypeAdmin(admin.ModelAdmin):
        def save_model(self, request, obj, form, change):
            # 自定义逻辑
            obj.save()  # 必须调用此方法保存对象
            # 或调用父类方法:super().save_model(request, obj, form, change)
    
    admin.site.register(SampleType, SampleTypeAdmin)
    
  • 测试shell手动创建数据
    打开Django shell验证基础数据写入是否正常:

    python manage.py shell
    

    执行代码:

    from your_app.models import SampleType
    st = SampleType(name="测试类型")
    st.save()
    print(SampleType.objects.all())
    

    如果shell中能正常写入并查询到数据,说明问题出在Admin模块的自定义逻辑;如果shell也失败,排查模型或数据库配置。

  • 核对数据库配置
    确认settings.py中DATABASES配置指向的是你实际查看的数据库,避免误使用内存数据库(如SQLite内存模式)导致数据无法持久化。

  • 排查信号量干扰
    检查项目中是否注册了pre_save/post_save信号处理函数,若有,确认函数未抛出异常或未错误修改对象导致事务回滚。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 00:52:35