我只想为某些特定字段序列化Django模型。我怎么做。我有一个如下模型:
class Person(models.Model):
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=20)
def __str__(self):
return self.first_name
我将serailizer用作:
from django.core import serializers
serializers.serialize('json', Person.objects.all(), content_type='application/json')
我的输出是:
[
{
model: "myapp.Person",
pk: 1,
fields: {
"first_name": "hello",
"last_name": "world"
}
}
]
我只想为first_name
序列化此模型,并且输出必须如下:
[
{
model: "myapp.Person",
pk: 1,
fields: {
"first_name": "hello"
}
}
]
答案 0 :(得分:0)
Person.objects.all()
中也包含first_name
值。您可以通过以下方式访问它:
for p in Person.objects.all():
p.first_name
有关详细信息,请阅读documentation。
要进行序列化,请尝试以下操作:
serializers.serialize("json", Person.objects.all(), fields=["first_name", "last_name"])