模型属性可以显示在模板中
问题描述:
我期待在使用inlineformset_factory的模板中显示模型属性。这甚至有可能吗?我还没有遇到任何例子。模型属性可以显示在模板中
我想在我的模板
class RecipeIngredient(models.Model):
recipe = models.ForeignKey(Recipe)
ingredient = models.ForeignKey(Ingredient)
serving_size = models.ForeignKey(ServingSize)
quantity = models.IntegerField()
order = models.IntegerField()
created = models.DateTimeField(auto_now_add = True)
updated = models.DateTimeField(auto_now = True)
def _get_json_data(self):
return u'%s %s' % (self.id, self.ingredient.name)
json_data = property(_get_json_data)
在views.py
RecipeIngredientFormSet = inlineformset_factory(models.Recipe, models.RecipeIngredient, form=forms.RecipeIngredientForm, extra=0)
recipeIngredients = RecipeIngredientFormSet(instance = objRecipe)
在我的模板显示 'json_data',我有这一点,但我没有看到任何
{% for form in recipeIngredients %}
{{ form.json_data }}
{% endfor %}
答
是的,你可以访问属性,就像你可以访问任何其他模型变量。但是你在这里打印一个表格,而不是一个实例。
如果您使用form.instance.json_data
它将工作。
很酷,谢谢。我不知道这个例子。 – iJK 2010-08-21 16:23:41
我一直在寻找这个答案无处不在!非常感谢你,WoLpH! – Bobort 2013-01-25 14:58:27