テンプレート内のスキルのカテゴリを取得しようとしています。 私が読んだ記事からは、テンプレートの外部キーから情報を直接取得することはできません。 は代わりに、私はスキルカテゴリテンプレート内のモデル関数を呼び出せません
にModels.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}}
を取得するためにCharacterSkillモデルに機能を追加するしかし、私はエラーを取得:
Exception Type: TypeError
Exception Value:
int() argument must be a string or a number, not 'Skill'
を私はシェルコンソールを使って値を調べようとしました。ここで私は猫を取り戻すことができますegory idですが、テンプレートで使用しても何も問題ありません。
私を助けてくれることを願っています!
を私は私の人生を複雑に知っていた、それは、あなたの方法を働いて答えてくれてありがとうです – Stakha