嗨,我有一个自定义的Django/python资源/视图。具体如下:
class ResourceView(JSONResponseMixin, View):
def get(self, request, *args, **kwargs):
status = 'error'
msg = "Success"
# Getting the x value from url/queryset
x= self.request.GET.get('x')
mas = self.request.GET.get('mas')
queryset_df = Forecast.objects.filter(Q(x=int(fab)) | Q(x=int("0"+x)))\
.values_list('mas').distinct()
queryset_or = Record.objects.filter(Q(pc_ext__x=int(x)) | Q(pc_ext__x=int("0"+x)))\
.values_list('mas').distinct()
new_mas_list = list(set(list(queryset_df) + list(queryset_or)))
new_mas_list.sort()
return self.render_json_response(dict(objects=new_mas_list))
返回掩码集的值列表。如何获取valuelist的每个值(因为在我的html中,我有一个下拉列表来显示每个valuelist对象,显示得很好;但是当我选择一个时,它将我作为一个值列表对象返回为["5300A"]
而不是5300A。我使用AngularJS获取值如下:
我的资源/列表如下所示:
{
objects: [
[
"AMD14NM"
],
[
"BAFFIN1"
],
[
"BAGERA1"
],
[
"ELLSMR1"
],
[
"GARFLD1"
],
[
"GARFLD2"
],
当我放入$scope.maslist = data['objects'][0];
时,我可以完美地得到第一个对象的值。我能为对象的其余值做些什么?我需要改进我的views.py/resources?提前谢谢。在
刚刚用
flatten
更新了返回部分。在from compiler.ast import flatten
return self.render_json_response(dict(objects=flatten(new_mas_list)))
尽管前面的答案看起来是正确的,但是在服务器端有一个更简单的方法来处理这个问题。在
values_list
有一个flat
参数来返回一个平面列表而不是列表列表(https://docs.djangoproject.com/fr/1.8/ref/models/querysets/#values-list)因此,你的观点应该是:
类资源视图(JSONResponseMixin,View):
下面是一个例子:jsfiddle.net/jkog5ph0/1但我更喜欢先准备好数组再显示它。拉姆达。扁平化例如。ramdajs.com/docs/#扁平化在
相关问题 更多 >
编程相关推荐