0

问题很简单:我知道Django在使用时不会序列化相关模型

serialize("json", queryset)

例如:如果我有一本作者的书:

class Book(models.Model):
    author = models.ForeignKeyField(Author)

序列化时,我得到 Books 字段,但只有作者的 pk。这是为什么?这是一个设计决定吗?如果是这样,为什么?

4

1 回答 1

1

可以使用自然键、自定义管理器和get_by_natural_key(). Django doc 有完整的解释,请在此处阅读。我宁愿不在这里复制粘贴所有内容。

通过使用这种方法,您可以像这样打开常规序列化 -

{
    "pk": 1,
    "model": "store.book",
    "fields": {
        "name": "Mostly Harmless",
        "author": 42
    }
}

对此——

{
    "pk": 1,
    "model": "store.book",
    "fields": {
        "name": "Mostly Harmless",
        "author": ["Douglas", "Adams"]
    }
}
于 2013-09-26T21:57:37.073 回答