Django model.objects.get() не ищет по параметру, который я указал
Я пытаюсь получить объект из базы данных. Вот моя модель:
class Employee(models.Model):
class EmployeeRole(models.TextChoices):
DEFAULT = 'Default'
PM = 'PM'
ADMINISTRATOR = 'Administrator'
name = models.CharField(max_length=127, blank=False, null=False)
surname = models.CharField(max_length=127, blank=False, null=False)
login = models.CharField(max_length=127, blank=False, null=False)
password = models.CharField(max_length=1023, blank=False, null=False)
email = models.EmailField()
employee_role = models.CharField(max_length=31, choices=EmployeeRole.choices,
blank=False, null=False)
salary = models.DecimalField(max_digits=10, decimal_places=2)
department = models.ForeignKey(Department, on_delete=models.SET_NULL, null=True,
blank=True)
last_login_date = models.DateField(auto_now=True)
created_date = models.DateField(auto_now_add=True)
def __str__(self):
return f"{self.name} {self.surname} - {self.employee_role}"
Вот мои урлы:
urlpatterns = [
path('employees/<int:pk>', views.employee_details),
path('employees/', views.employee_list_or_add),
]
Вот мои взгляды:
@csrf_exempt
def employee_list_or_add(request):
if request.method == 'GET':
employees = Employee.objects.get(id=4)
serializer = EmployeeSerializer(employees)
print(serializer)
return JsonResponse(serializer.data, safe=False)
elif request.method == 'POST':
data = JSONParser().parse(request)
serializer = EmployeeSerializer(data=data)
if serializer.is_valid():
serializer.save()
return JsonResponse(serializer.data, status=201)
return JsonResponse(serializer.errors, status=400)
Я изучаю документацию по REST, я на первой главе - сериализация. Но я не могу получить ни одного объекта из базы данных. Не важно, использую ли я Employee.objects.all() (с many=True в сериализаторе) как в документации или Employee.objects.get(pk=4) как сейчас в моем коде - я всегда получаю ошибку
недопустимый литерал для int() с базой 10: b'17 21:19:04.767380'
Это время последней_логин_даты первой записи в базе данных Employee. Но в функции .get() я указал 'pk', так почему она пытается отфильтровать его по времени даты?
Буду очень благодарен за любую помощь.