0

ProductフィールドMoneyFieldを持つモデルがあります/products/models.py

class Product(SeoModel, ModelWithMetadata, PublishableModel):

    name = models.CharField(max_length=128)

    currency = models.CharField(
        max_length=settings.DEFAULT_CURRENCY_CODE_LENGTH,
        default=settings.DEFAULT_CURRENCY,
    )

    price_amount = models.DecimalField(
        max_digits=settings.DEFAULT_MAX_DIGITS,
        decimal_places=settings.DEFAULT_DECIMAL_PLACES,
    )

    price = MoneyField(amount_field="price_amount", currency_field="currency")

views.pyは:

from .models import Product
from .serializers import ProductListSerializer
from rest_framework import generics

class ProductList(generics.ListAPIView):
    queryset = Product.objects.all()
    serializer_class = ProductListSerializer

serializers.py:

from rest_framework import serializers
from .models import Product


class ProductListSerializer(serializers.ModelSerializer):

    class Meta:
        model = Product
        fields = ['name', 'id']

URLにアクセスするとエラーが発生します:

AttributeError at /ru/products/api/
'MoneyField' object has no attribute 'serialize'
Request Method: GET
Request URL:    http://127.0.0.1:8000/ru/products/api/
Django Version: 2.2.6
Exception Type: AttributeError
Exception Value:    
'MoneyField' object has no attribute 'serialize'

手伝って頂けますか?ありがとうございました!

4

1 に答える 1