我有以下类的对象实例
class Keyword(models.Model):
disabled = models.BooleanField(default=False)
现在,我想将“禁用”值更改为 True,但前提是没有其他对象具有 ForeignKey 或 ManyToMany 关系中的关键字。
当删除一个对象时,所有具有它作为外键关系的对象也会被删除。从管理界面删除对象时,它能够显示以这种方式删除的其他对象。所以很明显,有一种方法可以检测对象是否以这种方式相互依赖。
我将如何自己进行这样的检查?我意识到我可以做这样的事情
k = Keyword.objects.get(pk=1)
if len(k.whatever_set.all()) == 0:
k.disabled = True
k.save()
问题是很多对象都依赖于这个 Keyword 类,所以会很乱。