@blazer05

Как получить скидку в функции?

В модели товара есть метод скидки
def get_sale(self):
        '''Расчитать стоимость со скидкой'''
        price = int(self.price * (100 - self.discount) / 100)
        return price

Все работает, но в корзину ложится цена реальная без скидки. Нужно сделать если скидка есть, то в корзину добавляется со скидкой, если нет то реальная.
Я так понимаю нужно в функции написать проверку но не пойму как?
# Страница товара
def ProductDetail(request, id, slug):
    top_five_products = Product.objects.all().exclude(id=id).order_by()[:10]
    alboms = Albom.objects.filter(product=id)
    product = get_object_or_404(Product, id=id, slug=slug, available=True)
    cart_product_form = CartAddProductForm()
    return  render(request, 'shop/product/detail.html', {'product': product,
                                                         'cart_product_form': cart_product_form,
                                                         'alboms': alboms,
                                                         'top_five_products': top_five_products})


Сейчас товар добавляется в корзину так
<form action="{% url "cart:CartAdd" product.id %}" method="post" class="add">
                    {% csrf_token %}
                    <p>{{ cart_product_form }}</p>
                 </div>
                 <div class="single-item-more-action">
                    <input type="image" src="{% static 'img/item-action-btn.png' %}">
                 </div>
                 </form>
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 1
kentuck1213
@kentuck1213
Уже все готова, зачем велосипед снова изобретать ?
https://github.com/bmentges/django-cart
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы