1
工作不增加额外的字段我有一个自定义属性在我的Django的形式
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)
我想在我的模板,以显示属性“json_data”的典范。
我有这样一段代码在我的形式
class RecipeIngredientForm(forms.ModelForm):
json_data = forms.CharField(widget=forms.HiddenInput())
def __init__(self, *args, **kwargs):
super(RecipeIngredientForm, self).__init__(*args, **kwargs)
print('here')
if kwargs.has_key('instance'):
instance = kwargs['instance']
print(instance)
self.initial['json_data'] = instance.json_data
我在财产“json_data”知道数据是无效的,但我无法从这个属性在我的模板看到的数据。
在我的意见,我有这样的一段代码
RecipeIngredientFormSet = inlineformset_factory(models.Recipe, models.RecipeIngredient, form=forms.RecipeIngredientForm, extra=0)
recipe_id = int(id)
objRecipe = models.Recipe.objects.get(id=recipe_id)
recipe = forms.RecipeForm(instance=objRecipe)
recipeIngredients = RecipeIngredientFormSet(instance = objRecipe)
我想我的问题是如何从一个额外的模型字段中显示的数据?
但json_data从RecipeIngredient快到了,我不能用它这样的。 ..我想不出一种方式来使用一个formset – iJK 2010-08-21 02:00:40
我试着用你的代码,看起来像一切工作正常。 对于任何现有的RecipeIngredient实例,json_data都会正确填充。 – Ashok 2010-08-21 04:48:13
此问题与解答帮助 http://stackoverflow.com/questions/3535977/can-model-properties-be-displayed-in-a-template – iJK 2010-08-21 16:24:39