【问题标题】:django - Natural key serialization of Userdjango - 用户的自然键序列化
【发布时间】:2012-05-27 11:00:45
【问题描述】:

假设我的项目中有一个评论模型:

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

假设我想同时输出用户的名字和姓氏?我该怎么办?

【问题讨论】:

    标签: python django json serialization


    【解决方案1】:

    我假设您正在序列化您的模型以便在线传输它(例如在 http 响应中)。

    django.core.serializers 可能不是您想要的方式。一种快速的方法是在模型中包含一个方法来返回要序列化的字典,然后使用simplejson.dumps 对其进行序列化。例如:

    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())

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 2015-04-26
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多