gpt4 book ai didi

python - 如何创建基于其他字段进行评估的 Django 模型字段?

转载 作者:行者123 更新时间:2023-12-01 06:14:59 24 4
gpt4 key购买 nike

我将尝试用一个简单的例子来描述我的问题。假设我有 Item 类型的项目,并且每个项目都与特定类型的 Category 相关。现在我可以将任意两个项目组合成 ItemCombo 类型的 itemcombo。此 itemcombo 与名为 ComboCategory 的特定类别相关。 ComboCategory 基于项目相关的类别,因此我不热衷于在 ItemCombo 中对 combocategory 进行硬编码,以防项目类别将会改变。我可以以某种方式使 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)

最佳答案

您的模型类是完整的 Python 类,因此您可以向它们添加属性、方法和属性:

class ItemCombo(models.Model):
item1 = models.ForeignKey(Item)
item2 = models.ForeignKey(Item)

@property
def combocategory(self):
return .. # some mumbo-jumbo of item1 and item2

关于python - 如何创建基于其他字段进行评估的 Django 模型字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com