Доступ к значениям, хранящимся в поле, и сравнение его с другим параметром в сериализаторе
Вот что у меня есть в модели Django Author в качестве первичного ключа
id = models.URLField(primary_key=True)
Одним из примеров может быть {id: "http://localhost:3000/authors/1d698d25ff008f7538453c120f581471"}.
В моем сериализаторе я хочу сравнить 1d698d25ff008f7538453c120f581471 часть пути с переданным мне идентификатором автора. Сейчас я использую
from urllib.parse import urlparse
...
def create(self, validated_data, author_id):
author, created = Author.objects.update_or_create(
urlparse(id).path.split('/')[2]=author_id, defaults=validated_data)
return author
Есть ли альтернатива этому?