Почему не возвращаются данные SerializerMethodField в таблицах данных django rest framework?

Я использую django rest framework datatables , я хочу показать все данные клиентов в таблицах, но он возвращает только цену за галлон !? вот мой код :

models.py


from django.contrib.auth.models import AbstractUser
from phonenumber_field.modelfields import PhoneNumberField

class User(AbstractUser):

    phone_number = PhoneNumberField(unique=True,region="PS")


    def __str__(self):
        return self.username

serializers.py

from rest_framework import serializers
from customers.models import Customer
from orders.models import Order


class CustomerSerializer(serializers.ModelSerializer):

    customer_name= serializers.SerializerMethodField()
    customer_PhoneNumber = serializers.SerializerMethodField()
    customer_lastOrderDate = serializers.SerializerMethodField()
    # customer_allsales = serializers.SerializerMethodField()

    def get_customer_name(self,obj):
        return obj.user.get_full_name()

    def get_customer_PhoneNumber(self,obj):
        return str(obj.user.phone_number)

    def get_customer_lastOrderDate(self,obj):

        if Order.objects.filter(madeBy=obj.user).exists():
            return Order.objects.filter(madeBy=obj.user).latest('order_date').order_date
        else:
            return "theres no orders"

    class Meta:
        model = Customer
        fields = ['price_per_gallon','customer_name', 'customer_PhoneNumber', 'customer_lastOrderDate']

views.py для сериализатора

from .serializers import CustomerSerializer
from customers.models import Customer
from rest_framework.decorators import api_view
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import generics
from rest_framework.permissions import IsAdminUser



class CustomerListView(generics.ListAPIView):
    queryset = Customer.objects.all()
    serializer_class = CustomerSerializer

    # permission_classes = [IsAdminUser]




table html :


                        <table  id="example" data-server-side="true" data-ajax="http://127.0.0.1:8000/customers/api/list/?format=datatables" class="table table-hover">
                           <thead>
                              <tr>
                                 <th data-data="customer_name">#</th>
                                 <th data-data="customer_PhoneNumber" >الاسم</th>
                                 <th data-data="customer_lastOrderDate" >رقم الهاتف</th>
                                 <th data-data="price_per_gallon">مجموع المشتريات</th>
                              </tr>
                           </thead>
                        </table>
                     </div>
                  </div>

<script>
$('#example').DataTable()
</script>
{% endblock %}

error msg :

ошибка img

любая помощь?

(не читайте это, это фиктивный текст из-за проверки на пост, он говорит, что большая часть моего поста - это код!)

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