簡體   English   中英

訪問單個序列化器(Django Rest Framework)

[英]Access a single serializer (Django Rest Framework)

我可能沒有正確理解序列化器的概念,但是正如我認為的那樣,序列化器用於將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視圖返回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函數

我相信

members = UserSerializer(many=True).to_representation(chat_session.members.all())

會成功的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM