小编Ozz*_*zzy的帖子

Django 管理员防止删除最后一条记录

我是 django 的新手,并且不断学习。

我有一个必须有 1 条记录的模型,因此我想防止删除最后一条记录。

模型.py

class SliderContent (models.Model):
    name = models.CharField(max_length=40)
    image = models.ImageField(upload_to='image')
Run Code Online (Sandbox Code Playgroud)

我在 admin.py 中尝试了以下操作

class SliderContentAdmin(admin.ModelAdmin):
.....
    def delete_model(self, request, obj):
     if last_record:
          storage = messages.get_messages(request)
          storage.used = True
          messages.error(request, 'Cannot delete last record.')
     else:
          obj.delete()
Run Code Online (Sandbox Code Playgroud)

这不起作用,我还查看了 pre_delete 接收器,但从我读到的内容来看,这不起作用,因为我正在使用管理视图中的构建。

做这个的最好方式是什么?

django django-admin

1
推荐指数
1
解决办法
1912
查看次数

标签 统计

django ×1

django-admin ×1