내 장고 모델 :템플릿에 표시하기 위해 장고 모델에 여분의 데이터를 추가하는 방법은 무엇입니까?
class myModel(models.Model):
myIntA = models.IntegerField(default=0)
내보기 :
myModelList = myModel.objects.all()
for i in range(len(myModelList)):
myModelList[i].myIntB = i
return render(
request,
'myApp/myTemplate.html',
Context(
{
"myModels": myModelList,
}
)
)
위 법적인가? 각 myModel 객체에 myIntB 변수를 추가 한 것을 볼 수 있습니다. 그러나 아래 템플리트에서 myIntB를 인쇄하려고하면 아무 것도 표시되지 않습니다. 템플릿에서 myIntB에 어떻게 액세스합니까? 이 모델에 대해 정의한 필드가 아니며 원하는 모델도 아닙니다. 이 템플릿을 렌더링하는 동안이 추가 변수로 myModel을 확장하기 만하면됩니다.
내 템플릿 :
{% for currModel in myModels %}
{{currModel.myIntA}}<br/>
{{currModel.myIntB}}<br/>
{% endfor %}
좋아. 이것은 의미가 있습니다. 감사! 그러나, 내가 당신의 솔루션을 사용하는 것을 방해한다고 생각되는 합병증이 있습니다. 내 모델은 실제로는 MPTT 트리 구조입니다 : class myModel (MPTTModel). 이 템플릿에 대해이 트리 구조의 각 요소를 보완하고 {% recursetree %}를 사용하여 강화 된 개체를 통해 반복합니다. 따라서 각 목록 요소를 튜플로 바꾸는 것은 여기에서 트릭을 수행 할 것이라고 생각하지 않습니다 (솔직히 내가 시도하지는 않았지만). MPTT 객체의 목록을 풍부하게하여 계층 적 관계가 깨지지 않도록 어떻게 제안 할 수 있습니까? –
여기에서 수정 된 질문보기 : http://stackoverflow.com/questions/19763241/how-to-add-extra-data-to-a-django-mptt-model-for-display-in-template –