我将用一个简单的例子来描述我的问题。假设我有Item
类型的项,每个项都与某个类型的Category
相关。现在,我可以将任意两个项目合并为ItemCombo
类型的itemcombo。这个itemcombo与一个名为ComboCategory
的特定类别相关。ComboCategory
是基于项目相关的类别的,因此我不喜欢在ItemCombo
中硬编码combocategory
,以防项目类别发生变化。我是否可以在ItemCombo
中使combocategory
成为一个计算及时的虚拟字段?在
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)
问题是您只能对存储在数据库中的字段执行查询。现在,您应该查看aggregation来及时评估ItemCombo并对其进行筛选。在
模型类是完整的Python类,因此可以向它们添加属性、方法和属性:
相关问题 更多 >
编程相关推荐