biçimlendirmesi nedeniyle json dizi sonucu yanıtını özelleştirme Json yanıtı için liste sorgusu sonucunu özelleştirmek istediğim bu Django REST API'ım var. Nedeni tarih biçimlendirmesi ve potansiyel olarak diğer biçimlendirmelerden kaynaklanmaktadır.django dinlenme çerçeve listesi sorgusu
Bu, Rest API'sidir, sorun create_at: Bunun gibi biçimlendirilmesini istiyorum: ('% Y-% m-% d% H:% M'). Aşağıdaki kod herhangi bir biçimlendirmeye sahip değildir, sadece sonuçta bir json listeleyecek ve oluşturacaktır.
@api_view(['POST'])
def employee_get_list_by_page(request):
val_params = ["id", "username","first_name","last_name","created_at"]
employee_list = Employee.objects.all().values(*val_params).order_by('id')
page = request.GET.get('page', request.POST['page'])
paginator = Paginator(employee_list, request.POST['page_limit'])
try:
employees = paginator.page(page)
except PageNotAnInteger:
employees = paginator.page(request.POST['page'])
except EmptyPage:
employees = paginator.page(paginator.num_pages)
return Response(list(employees), status=status.HTTP_200_OK)
Bu modeldir. Dikkat edin .as_dict() işlevi var. Emp = Employee.objects.get (id = 6) kullanmak gibi tek tek kayıt için, bu emp.as_dict() yöntemini kullanabilirim ve sonuç, biçimlendirilmiş biçimde, biçimlendirilmiş bir tarih içerecektir.
class Employee(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employee')
company = models.ForeignKey(Company)
username = models.CharField(max_length=30, blank=False)
first_name = models.CharField(max_length=30, blank=False)
last_name = models.CharField(max_length=30, blank=False)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.user.username
def as_dict(self):
return {"id": "%d" % self.id,
"username": self.username if self.username else "",
"first_name": self.first_name if self.first_name else "",
"last_name": self.last_name if self.last_name else "",
"created_at":self.created_at.strftime('%Y-%m-%d %H:%M')}
Bu, listenin json yanıtı sonucudur. Tarihin biçimlendirilmemiş olduğuna dikkat edin.
[
{
"id": 7,
"username": "mick",
"first_name": "zack",
"last_name": "ray",
"created_at": "2017-12-07T10:09:28.376427Z" <-- I want this to be ('%Y-%m-%d %H:%M')
},
{
"id": 8,
"username": "hu",
"first_name": "rar",
"last_name": "baw",
"created_at": "2017-12-10T09:08:27.473997Z"
}
]
Soru: İstediğim biçimleme ile json listesi yanıtını nasıl alabilirim? Django kalan çerçevenin
gelen ref alabilirim? –
Hey @Axil, merak ettim, herhangi bir cevap size yardımcı oldu mu? – Satendra
üzgünüm çok meşguldüm. – Axil