我有一个Django模型,我想将它在数据库中的实例数量限制为1个。但是,我想允许编辑和更新1个实例。
我尝试使用@receiver
信号在允许保存之前对实例数进行计数,但是如果我这样限制,它也不会让管理员编辑实例。
在信号发送器中是否可以区分创建动作和编辑动作?
@receiver(pre_save, sender=myModel)
def checkLimit(sender, **kwargs):
count = sender.objects.count()
if count > 1:
raise PermissionDenied