【发布时间】:2019-01-05 17:48:48
【问题描述】:
我可能无法正确理解序列化程序的概念,但我认为,序列化程序用于将 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 函数
【问题讨论】:
标签: python django django-rest-framework