Почему не возвращаются данные 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 :
любая помощь?
(не читайте это, это фиктивный текст из-за проверки на пост, он говорит, что большая часть моего поста - это код!)