Django models 具有GenericForeignKey的Django模型中的级联删除
我对Django有以下问题Django models 具有GenericForeignKey的Django模型中的级联删除,django-models,cascading-deletes,Django Models,Cascading Deletes,我对Django有以下问题 class UserProfile(Model): inventory = models.M2M(InventoryItem) class InventoryItem(Model): item = GenericForeignKey() class Equipment(Model): base = GenericForeignKey() 每个用户都可以有许多项。库存项目可以指向设备、材料等,但在这种情况下,它指向设备模型。装备型号与武器、
class UserProfile(Model):
inventory = models.M2M(InventoryItem)
class InventoryItem(Model):
item = GenericForeignKey()
class Equipment(Model):
base = GenericForeignKey()
每个用户都可以有许多项。库存项目可以指向设备、材料等,但在这种情况下,它指向设备模型。装备型号与武器、装甲或附件有关
我需要从用户的库存中删除特定项目
UserProfile.objects.get(pk=1).inventory.objects.all()[0].delete()
**这也会删除与非预期相关的装备和武器/装甲/附件**
我已经在所有外键上添加了on_delete=DO_NOTHING,但在GenericForeignKey上看不到这样的选项。解决办法是什么
UserProfile.objects.get(pk=1.delete())
看起来你在删除用户配置文件,但不是特定的项目oops,我不是有意写的。