Я ' Попробую описать мою проблему на простом примере. Скажем, у меня есть элементы типа , элемент
, и каждый элемент относится к определенному типу Категории
. Теперь я могу взять любые два предмета и объединить их в комбинацию предметов типа ItemCombo
. Это сочетание элементов относится к определенной категории под названием ComboCategory
. ComboCategory
основывается на том, к каким категориям относятся элементы, поэтому я не хочу жестко кодировать комбокатегорию
в ItemCombo
на случай изменения категорий элементов . Могу ли я каким-то образом сделать combocategory
виртуальным полем в ItemCombo
, которое вычисляется точно в срок?
class Category(models.Model):
value = models.CharField(max_length=1)
class Item(models.Model):
value = models.CharField(max_length=10)
category = models.ForeignKey(Category)
class ComboCategory(models.Model):
category1 = models.ForeignKey(Category)
category2 = models.ForeignKey(Category)
value = models.CharField(max_length=1)
class ItemCombo(models.Model):
item1 = models.ForeignKey(Item)
item2 = models.ForeignKey(Item)
combocategory = models.ForeignKey(ComboCategory)