gpt4 book ai didi

python - 在模板中调用模型函数不起作用

转载 作者:行者123 更新时间:2023-12-01 03:07:01 25 4
gpt4 key购买 nike

我正在尝试获取模板中技能的类别。从我读到的帖子来看,我无法直接从模板中的外键获取信息。相反,我在 CharacterSkill 模型上添加一个函数来获取技能类别

模型.py

class Character(models.Model):
name = models.CharField(max_length=70)

class Skill(models.Model):
name = models.CharField(max_length=70)
cat1 = '01'
SKILLSET_CHOICE = ((cat1:'cat1'))
skillset_choice = models.CharField(
max_length=2,
choices = SKILLSET_CHOICE,
default='',
blank=True,
null=True,
)

class CharacterSkill(models.Model):
character = models.ForeignKey(Character, on_delete=models.CASCADE)
skill = models.ForeignKey(Skill, on_delete=models.CASCADE)
def skillcategory(self):
return Skill.objects.get(id = self.skill).skillset_choice

模板

skillsetchoice {{item.skillcategory}}

但是我收到错误:

Exception Type: TypeError
Exception Value:
int() argument must be a string or a number, not 'Skill'

我尝试使用 shell 控制台检查值,在其中我可以取回类别 ID,但是当我在模板中使用它时,没有任何效果

希望你能帮助我!

最佳答案

这与从模板调用它无关。

self.skill已经是 Skill 的一个实例。无需显式查询该模型。

def skillcategory(self):
return self.skill.skillset_choice

事实上这个方法是毫无意义的;您当然可以直接在模板中执行此操作:

skillsetchoice {{ item.skill.skillset_choice }}

关于python - 在模板中调用模型函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43282260/

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