在Django中将QuerySet转换为python列表
我有这个剧本:在Django中将QuerySet转换为python列表,python,django,python-3.x,list,Python,Django,Python 3.x,List,我有这个剧本: lec_name = request.POST['selected_name'] data = Schedules.objects.filter(name=lec_name) data_list = data.values_list('schedule', flat=True) print(data_list) 这将产生以下输出: <QuerySet ["[['1', 'Subject 01', 'Hall 01', 'Tuesday'], ['2', 'Subject
lec_name = request.POST['selected_name']
data = Schedules.objects.filter(name=lec_name)
data_list = data.values_list('schedule', flat=True)
print(data_list)
这将产生以下输出:
<QuerySet ["[['1', 'Subject 01', 'Hall 01', 'Tuesday'], ['2', 'Subject 02', 'Hall 03', 'Monday']]"]>
["[['1', 'Subject 01', 'Hall 01', 'Tuesday'], ['2', 'Subject 02', 'Hall 03', 'Monday']]"]
这将产生以下输出:
<QuerySet ["[['1', 'Subject 01', 'Hall 01', 'Tuesday'], ['2', 'Subject 02', 'Hall 03', 'Monday']]"]>
["[['1', 'Subject 01', 'Hall 01', 'Tuesday'], ['2', 'Subject 02', 'Hall 03', 'Monday']]"]
这个很好用。但是我没有得到预期的输出
预期产出:
[['1', 'Subject 01', 'Hall 01', 'Tuesday'], ['2', 'Subject 02', 'Hall 03', 'Monday']]
我怎样才能解决这个问题?关于这一点,我找到了很多答案,但没有一个有帮助。我使用的是Python 3.7.4、Django 3.0.1
更新
这是我的时间表
型号:
class Schedules(models.Model):
name = models.CharField(max_length=224)
semester = models.CharField(max_length=20)
hall_n_time = models.CharField(max_length=1000)
schedule = models.CharField(max_length=1000)
hall\n\u time
和schedule
列在数据库中,它们有两个python列表作为字符串。例如,schedule列将[['1'、'Subject 01'、'Hall 01'、'sunday']、['2'、'Subject 02'、'Hall 03'、'Monday']]
列表存储为字符串。假设flat
参数将解码json字符串,但实际情况并非如此
它只返回单个值而不是元组
如果你只通过一个区域,你也可以通过平面
参数如果为True,则意味着返回的结果是单一的
值,而不是一个元组
它返回的与前面提到的完全一样,是一个计划字符串数组(可以是更多)
您仍然需要修改JSON字符串才能对其进行解码
converted_list = [json.loads(item) for item in data_list]
您是否非常确定您的
数据\u列表
给出了该输出?看起来不太对劲。非常肯定@Hoenie向我们展示您的模型,时间表中存储的内容谢谢@iklinac。