【发布时间】:2020-02-03 23:14:12
【问题描述】:
我需要帮助来获取查询集中的字段列表。
我正在使用 Django shell 进行测试,但我没有任何运气。
如果我像下面这样.values
abc = PrescribedMedsSchedule.objects.filter(medication_date=scheduled_date_obj, medication_time__time=scheduled_time_obj) \
.select_related('prescribed_meds_id') \
.select_related('prescribed_meds_id__childno') \
.values(
'prescribed_meds_id',
'medication_date',
'medication_time',
'quantity',
'form',
'prescribed_meds_id__name_of_medication',
'prescribed_meds_id__childno__child_name',
'prescribed_meds_id__childno__group',
'prescribed_meds_id__childno__line_no'
).order_by('prescribed_meds_id__name_of_medication')
当我在 shell 中键入 abc 时,我得到了可以在模板中使用的确切列名。
QuerySet [{'prescribed_meds_id': 5731, 'medication_date': datetime.date(2020, 2, 4), ....
但是如果我使用 .only 而不是 .values,当我输入 abc 时,我会得到一个
QuerySet [<PrescribedMedsSchedule: PrescribedMedsSchedule object (6117) ....
如何检索/显示此查询集中的字段/列?
我问的原因是当我使用.only 时,select_related 表中的字段不再出现在 HTML 模板中。
【问题讨论】:
-
此代码在我发布时已删除...如果我使用 .values,我会得到
-
如果我将 .values 替换为 .only,我会得到 #
。我想查看查询集中的字段 -
用你的 cmets 的内容编辑你的问题,如果你在 cmets 中包含了重要信息,就很难理解。
-
标记行者。我道歉。我之前输入了输出,但由于它们在 '' 内,Stackoverflow 没有正确显示它。必须快速计算谷歌如何在此处显示带有“”的项目。
-
那么你希望你的输出是什么样子的?
标签: django django-queryset names