在 django 中使用 MVT 创建类别系统

问题描述 投票:0回答:1

我正在开发一个项目,我创建了一个包含汽车模型和一些用户模型的系统。我想为用户技能创建另一个模型,并为用户模型提供与技能模型的关系。但我不知道如何进行优化?

例如,有些用户可能无法修复一辆汽车的变速箱,但其他人可以,而有些用户可能可以修复某些汽车的某些发动机问题,而其他人则无法! 因此,我需要与“汽车”模型建立关系,并且我必须将汽车的技能保存在数据库中。但数据库里有超过2000辆汽车!

你觉得我能做什么?

python django django-models backend mvt
1个回答
0
投票

要优化此系统,请考虑创建一个单独的技能模型,其中包含名称和描述等字段。然后,创建一个名为 UserCarSkill 的中间模型,该模型使用外键链接 User、Car 和 Skill 模型。这使您可以将特定技能与特定用户和汽车相关联。

这只是我能想到的一个例子:

class Skill(models.Model):
    name = models.CharField(max_length=100)

class UserCarSkill(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    car = models.ForeignKey(Car, on_delete=models.CASCADE)
    skill = models.ForeignKey(Skill, on_delete=models.CASCADE)

它具有可扩展性,可以处理数据库中的大量汽车,同时为技能系统的未来添加或更改提供灵活性。

© www.soinside.com 2019 - 2024. All rights reserved.