我有两个模型
class Group(models.Model):
....
和
class User(models.Model):
...
group = models.ManyToManyField(
Group)
有很多亲戚
如果这Group
个实例中有Users
个,那么防止删除Group
个实例的最佳方法是什么
我的解决方案是:
def delete(self, request, *args, **kwargs):
try:
list_ = []
for user in User.objects.all():
for group in user.group.all():
if group.name not in list_:
list_.append(group.name)
else:
continue
if Group.objects.get(pk=kwargs['pk']).name in list_:
return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED)
else:
return self.destroy(request, *args, **kwargs)
except:
raise ValueError("Error")
我希望有更好的解决办法.