我从DRF开始,我想同时序列化ID
和Hyperlinked URL
让我定义一个简单的示例模型:
class Account(model.Models):
name = models.CharField(max_length=100)
active = models.BooleanField()
我知道有一个ModelSerializer
表示对象,如下所示:
{
"id": 1,
"name": "library",
"active": true
}
还有一个HyperlinkedModelSerializer
表示对象,如下所示:
{
"url": "http://127.0.0.1:8000/core/accounts/1/",
"name": "library",
"active": true
}
本质上,在HyperlinkedModelSerializer
中,我们可以检索行的ID,但是我要寻找的是得到如下内容:
{
"id": 1,
"url": "http://127.0.0.1:8000/core/accounts/1/",
"name": "library",
"active": true
}
我从here那里得到了答案,它对我很有效
这样做可以避免定义模型的字段,然后使用
id
和url
字段(如['url', 'id', 'name', 'active']
)在序列化程序中再次定义它们在这个例子中,它似乎是虚拟的,但当您处理具有更多字段的模型时,这可以为您节省大量时间
我检查了docs,您可以通过将字段“id”包含在
fields
中来显式添加它相关问题 更多 >
编程相关推荐