How do i get default date to my payload in django views
I am trying to create a payment API and part of my request body on postman is date but I want my programme to pick a default date now as my date so user do not need to enter date when using it.
This is my serializer:
PaymentSerializer(serializers.Serializer):
code = serializers.RegexField(required=False, regex=r"[0-9A-Za-z]+")
number = serializers.RegexField(required=False, regex=r"[0-9A-Za-z]+")
hi_number = serializers.RegexField(required=False, regex=r"[0-9A-Za-z]+")
ref = serializers.RegexField(required=False, regex=r"[0-9A-Za-z]+")
date = serializers.DateTimeField(default=datetime.now)
amount = serializers.DecimalField(max_digits=11, decimal_places=2)
description = serializers.CharField()
payload = {
"integration_code" : integration_code,
"payer_number" : request.data.get("payer_number"),
"payment_number" : request.data.get("payment_number"),
"payment_ext_reference" : request.data.get("tranref"),
"payment_date" : self.get_serializer("payment_date"),
"payment_amount" : request.data.get("payment_amount"),
"payment_description" : request.data.get("payment_description"),
}
I need to be able to get the default in the payload but I cant seem to find my way around.
To get the default date in the payload, you can change your logic to get the current datetime
from datetime import datetime
...
"payment_date" : datetime.now(),
The datetime.now() is an object so it has to be converted to a string
"payment_date" : datetime.now().strftime("%Y-%m-%d %H:%M:%S"),