I would like to create a user when saving an object to the database but every time it says the user is AnonymousUser even though the user is logged in, below is a snippet, any help would be appreciated.
def post(self, request):
response = json.loads(self.request.body.decode('utf-8'))
result_code = response["Body"]["stkCallback"]["ResultCode"]
if result_code == 0:
if response["Body"]["stkCallback"]["CallbackMetadata"]["Item"][2]["Name"] == 'Balance':
del response["Body"]["stkCallback"]["CallbackMetadata"]["Item"][2]
amount = response["Body"]["stkCallback"]["CallbackMetadata"]["Item"][0]["Value"]
mpesa_receipt_number = response["Body"]["stkCallback"]["CallbackMetadata"]["Item"][1]["Value"]
transaction_date = response["Body"]["stkCallback"]["CallbackMetadata"]["Item"][2]["Value"]
phone_number = response["Body"]["stkCallback"]["CallbackMetadata"]["Item"][3]["Value"]
str_transaction_date = str(transaction_date)
transaction_datetime = datetime.strptime(
str_transaction_date, "%Y%m%d%H%M%S")
aware_transaction_datetime = pytz.utc.localize(
transaction_datetime)
our_model = Mpesa.objects.create(
Paid_user=request.user
MpesaReceiptNumber=mpesa_receipt_number,
PhoneNumber=phone_number,
Amount=amount,
TransactionDate=aware_transaction_datetime,
)
our_model.save()