假设我的项目中有一个评论模型:
class Comment(models.Model):
text = models.TextField(max_length=500, blank=False)
author = models.ForeignKey(User)
使用django.core.serializers
序列化为JSON时,作者字段显示为:
"author": 1 // use_natural_keys = False
"author": ["someuser"] // use_natural_keys = True
假设我想输出用户的名字和姓氏?我该怎么做呢?
答案 0 :(得分:1)
我假设您正在序列化您的模型,以便通过网络传输(例如在http响应中)。
django.core.serializers
可能不是您想要的方式。一种快速方法是在模型上包含一个方法以返回要序列化的字典,然后使用simplejson.dumps
对其进行序列化。 E.g:
def to_json(self):
return dict(
author=[self.author.natural_key(), self.author.first_name, self.author.last_name],
text=self.text,
)
然后只需致电simplejson.dumps(comment.to_json())
。