product=list(Product.objects.filter(slug=slug))
Вот здесь зачем оборачивать в list? То что вернет менеджер objects и метод filter является queryset'ом, почитайте про QuerySet в документации.
Представление должно иметь вид:
def product_detail(reguest, slug):
list_products = Product.objects.filter(slug=slug)
return render_to_response(
'product_detail.html',
{'list_products': list_products}
)
А шаблон:
{% for product in list_products %}
{% for detail in product.details.all %}
{{ detail.description }}
{% endfor %}
{% endfor %}
Ну и соответсвенно то, что я привел в качестве примера необходимо обернуть нужными html-тегами.