【发布时间】:2016-09-06 02:45:08
【问题描述】:
我对 Django Rest Framework 还是很陌生。我在文档中找不到可以让我根据 JSON API 标准 (jsonapi.org) 序列化模型的内容。
假设我有以下模型。
class Person(models.Model):
name = models.CharField(max_length=200)
class Car(models.Model):
owner = models.ForeignKey(Person)
brand =
model = models.CharField(max_length=200)
plate = models.CharField(max_length=200)
我想以一种可以为我提供以下输出的方式对其进行序列化:
{
"data":[
{
"type": "Person",
"id": 1,
"attributes": {
"name": "John",
},
"relationships": {
"cars": [
{
"data": {
"type": "Car",
"id": 1,
"attributes": {
"brand": "Bugatti",
"model": "Veyron",
"plate": "PAD-305",
},
},
},
{
"data": {
"type": "Car",
"id": 2,
"attributes": {
"brand": "Bugatti",
"model": "Chiron",
"plate": "MAD-054",
},
},
},
],
},
},
{
"type": "Person",
"id": 2,
"attributes": {
"name": "Charllot",
},
"relationships": {
"cars": [
{
"data": {
"type": "Car",
"id": 3,
"attributes": {
"brand": "Volkswagen",
"model": "Passat CC",
"plate": "OIJ-210",
},
},
},
{
"data": {
"type": "Car",
"id": 4,
"attributes": {
"brand": "Audi",
"model": "A6",
"plate": "NAD-004",
},
},
},
],
},
}
],
"meta":{
"backend_runtime": "300ms", // processed at the view
}
}
【问题讨论】:
-
我很确定您必须手动将模型转换为该形式
-
我认为这会违反 ORM 原则。我不应该设计我的模型来用特定的 JSON 结构来表示它。我想知道有什么 DRF 工具可以灵活地表示它。
-
我猜这是github.com/django-json-api ...
标签: python json django rest django-rest-framework