gpt4 book ai didi

python - Django查询集注释,带有选择的charfield并尝试获取显示值

转载 作者:行者123 更新时间:2023-11-30 22:36:40 36 4
gpt4 key购买 nike

我的模型的相关部分:

class AnalyticRecord(models.Model):

APP = "APP"
WEB = "WEB"
DASH = "DASH"

SOURCE_CHOICES = (
(APP, "Mobile Application"),
(WEB, "Website"),
(DASH, "User Dashboard"))

user = models.ForeignKey(User, blank=True, null=True)
event = models.ForeignKey(Event)
source = models.CharField(max_length=25, choices=SOURCE_CHOICES)

我正在尝试运行聚合命令。它工作得很好,如下所示:

data = event.analyticrecord_set.all().values("source").\
annotate(label=Concat("source", Value(None), output_field=CharField()))

但是,问题是注释label返回“APP”、“WEB”、“DASH”而不是实际显示值。我知道我可以正常使用 get_FOO_display() ,但是如何将显示值拉入我的注释调用中?我希望获取 source 字段的显示值。谢谢!

最佳答案

queryset = event.analyticrecord_set.all().values("source").\
annotate(label=Concat("source", Value(None), output_field=CharField()))

for query in queryset:
print(queryset.model(source=query['source']).get_source_display())

您可以尝试上面的代码片段吗,希望这有帮助

关于python - Django查询集注释,带有选择的charfield并尝试获取显示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44087888/

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