gpt4 book ai didi

python - 如何在不在 Wagtail(django) 中进行额外查询的情况下访问外键数据

转载 作者:太空宇宙 更新时间:2023-11-03 13:39:27 27 4
gpt4 key购买 nike

我的 app.models 中有以下两个类,我正在使用 wagtail API 将数据作为 json 获取

class AuthorMeta(Page):
author=models.OneToOneField(User)
city = models.ForeignKey('Cities', related_name='related_author')

class Cities(Page):
name = models.CharField(max_length=30)

因此,当我尝试 /api/v1/pages/?type=dashboard.AuthorMeta&fields=title,city 时,它会返回以下数据:

{
"meta": {
"total_count": 1
},
"pages": [
{
"id": 11,
"meta": {
"type": "dashboard.AuthorMeta",
"detail_url": "http://localhost:8000/api/v1/pages/11/"
},
"title": "Suneet Choudhary",
"city": {
"id": 10,
"meta": {
"type": "dashboard.Cities",
"detail_url": "http://localhost:8000/api/v1/pages/10/"
}
}
}
]
}

在城市字段中,它返回城市的idmeta。如何在不进行额外查询的情况下在此处的响应中获取城市名称? :/

我在 Documentation 中找不到任何解决方案.我错过了什么吗?

最佳答案

使用Django模型属性通过外键返回:

class AuthorMeta(Page):
author=models.OneToOneField(User)
city = models.ForeignKey('Cities', related_name='related_author')
city_name = property(get_city_name)

def get_city_name(self):
return self.city.name

检查 Term Property更好地理解这个概念

关于python - 如何在不在 Wagtail(django) 中进行额外查询的情况下访问外键数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34289264/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com