Python 访问单个序列化程序(Django Rest框架)
我可能没有正确理解序列化程序的概念,但我认为,序列化程序用于将python对象表示为json对象 所以我的问题是,我有一个模型:Python 访问单个序列化程序(Django Rest框架),python,django,django-rest-framework,Python,Django,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 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()
]
我如何访问特定用户的序列化程序,而不是使用自定义的反序列化用户函数
members = UserSerializer(many=True).to_representation(chat_session.members.all())
会成功的。是的,就是这样!非常感谢。