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
相关产品推荐
相关产品推荐

