Как взять значение из класса и использовать его в def внутри того же класса Python/Django

class ProductSerializer(serializers.ModelSerializer): images = ProductImageSerializer(many=True, read_only=True)

class Meta:
    model = Product
    fields = ['id', 'title', 'description', 'slug', 'inventory',
              'unit_price', 'price_with_tax', 'collection', 'images', 'price_after_the_first_tax']

price_with_tax = serializers.SerializerMethodField(
    method_name='calculate_tax')

price_after_the_first_tax = serializers.SerializerMethodField(
    method_name='_second_calculate')

def calculate_tax(self, product: Product):
    return product.unit_price * Decimal(0.1)

здесь я хочу использовать цену_с_налогом в def second_calculate

def second_calculate(self, order: OrderItem):
    return price_with_tax * Decimal(0.2)

Переменная self - это именно то, что вам нужно:

def second_calculate(self, order: OrderItem):
    return self.price_with_tax * Decimal(0.2)

Он содержит все переменные/методы, которые могут использовать объекты, являющиеся экземплярами данного класса.

enter image description here

enter image description here

вот скриншоты о ProductSerializer и ошибке, с которой я сталкиваюсь, когда ввожу url

Вернуться на верх