gpt4 book ai didi

python - Django - 模型结构

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

我是 Django 新手,我的模型结构遇到了这样的情况:

我有一个模型Item,代表许多待售商品。

某些项目具有标签。有些则不然。

无论哪个具有标签都将具有相同的百分比折扣:五个选项供用户选择(5%、10%、15%、20%、25) %);

当管理员/用户将折扣从 5% 增加到 15% 时,所有带有该标签的商品都将享受相同的 15% 折扣。

我不确定是否应该设置一个 bool tag字段,然后设置另一个百分比字段,甚至另一个托管折扣百分比的模型> 选择,或者我应该为 percentage 设置标签选择的 IntegerField?但是如何让所有具有相同标签的项目保持同步呢?有没有一种消耗资源最少的方法?

最佳答案

您可以创建一个引用 Tag 模型的可为空字段,并让 Tag 模型包含百分比。例如:

from decimal import Decimal

class Tag(models.Model):
percentage = models.DecimalField(max_digits=2, decimal_places=2)

class Item(models.Model):
# …
discount_tag = models.ForeignKey(Tag, on_delete=models.PROTECT, null=True)

@property
def discount(self):
if self.discount_tag is not None:
return self.discount_tag.percentage
return Decimal()

在这里,我们可以添加一个@property来检查Item是否有相关标签,如果有,它返回百分比discount_tag。否则,它返回Decimal('0')

关于python - Django - 模型结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60138883/

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