У меня следующая проблема с Джанго.
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 на все внешние ключи, но я не вижу такой возможности возможной на GenericForeignKeys. Какое решение?