0

プロジェクトにコメントのモデルがあるとします。

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

ユーザーの名前と名前も出力したいとしますか?どうすればいいですか?

4

1 に答える 1

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

于 2012-05-27T11:27:59.280 に答える