2015-01-19 3 views
0

다음보기 코드는 ManyToMany 관계 내에 포함 된 Django 모델 인스턴스에 임시 데이터를 추가합니다. 템플릿 내에서 해당 데이터에 액세스 할 수 있기를 원하지만 어떻게해야할지 모르겠습니다.Django 템플릿의 임시 모델 데이터에 액세스 하시겠습니까?

@login_required() 
def shopping_cart(request): 
    try: 
     cart = ShoppingCart.objects.get(user__exact=request.user) 
    except ShoppingCart.DoesNotExist: 
     cart = ShoppingCart(user=request.user) 
     cart.save() 

    for album in cart.albums.all(): 
     album.vat_rate = request.session['vat_rate'] 
     album.total_cost = (((album.price/100) * album.vat_rate) + album.price) 

    return render_to_response('sym_money/shopping_cart.html', 
          {'shopping_cart': cart}, 
          context_instance=RequestContext(request)) 

나는 수행하여 VAT_RATE 및 템플릿의 총 비용에 액세스 할 수 있어야합니다 : 임시 데이터의

{% for album in cart.albums.all %} 
    {{ album.vat_rate }} 
    {{ album.total_cost }} 
{% endfor %} 

없음 모델의 모든 필드가 없으며 나는 싶지 않아 데이터베이스에 저장하거나 템플릿에서 모델의 임시 데이터에 액세스 할 수 있기를 원합니다.

답변

3

템플릿에서 {% for album in cart.albums.all %}을 수행하면 이전에 주석 처리 된 객체가 모두 삭제되므로 완전히 새로운 쿼리 세트가 만들어집니다.

앨범 쿼 리셋을 뷰에 변수로 저장하고 반복하고 반복하는 것과 같은 개체에 주석을 지정한 다음이 변수를 컨텍스트로 전달합니다.

힌트 : render_to_response은 oldskool입니다. 단지 render을 사용하십시오.

관련 문제