Возможно, я не совсем понял концепцию сериализаторов, но, как я думаю, сериализаторы используются для представления объектов Python как объектов json.
Итак, мой вопрос, у меня есть модель:
class User(AbstractUser):
messages = models.IntegerField(default=0)
signup_date = models.DateField(auto_now_add=True)
last_msg = models.DateField(null=True, blank=True)
и сериализатор:
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
class Meta:
model = User
fields = ['username', 'password', 'email']
Поскольку мой API View возвращает json, я хочу передать сериализованное имя пользователя, но не знаю, как этого добиться.
Это кусок кода, написанный без сериализаторов, поэтому я пытаюсь получить тот же результат, используя их:
chat_session = ChatSession.objects.get(uri=uri)
owner = chat_session.owner
if owner != user: # Only allow non owners join the room
chat_session.members.get_or_create(
user=user, chat_session=chat_session
)
owner = deserialize_user(owner)
members = [
deserialize_user(chat_session.user)
for chat_session in chat_session.members.all()
]
Как я могу получить доступ к своему сериализатору для определенного пользователя вместо использования пользовательской deserialize_user
функции