我是 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 接收器,但从我读到的内容来看,这不起作用,因为我正在使用管理视图中的构建。
做这个的最好方式是什么?