我有一个带有 ArrayField 的模型,称为“参与者”。
由于 postgress 的 ArrayField 的限制,我不能让数组成为用户列表。因此,我将用户名作为字符串存储在数组中。
现在我想序列化用户 ID 和用户名
class ConversationSerializer(serializers.ModelSerializer):
class Meta:
model = c.Conversation
lookup_field = 'uid'
fields = (
'uid',
'participants',
'archived',
)
无论如何我可以返回参与者的用户 ID 而不是字符串?因此,而不是以下结果:
{
"uid": "dd51b07d-06f2-481a-b68d-fa18e9959392",
"participants": [
"userJohn", "userDave"
],
"archived": false
}
我可以获得用户模型字段:
{
"uid": "dd51b07d-06f2-481a-b68d-fa18e9959392",
"participants": [
{
'username': 'userJohn',
'id': 4,
},
{
'username': 'userDave',
'id': 5,
}
],
"archived": false
}