我从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
}
3条答案
按热度按时间iq0todco1#
我检查了文档,你可以显式地添加字段'id',包括在
fields
中。dpiehjr42#
我从here得到了答案,它对我很有效。
这样做可以避免定义模型的字段,然后在序列化器中使用
id
和url
字段(如['url', 'id', 'name', 'active']
)再次定义它们这个例子看起来很假,但是当你处理有更多字段的模型时,这可以保存你很多时间。
agxfikkp3#
你应该把它添加到Nginx配置文件中: