【发布时间】:2016-08-20 00:34:19
【问题描述】:
我正在 django/angular 中构建一个高级搜索,用户可以在其中从不同的模型
中选择一个或多个字段############# ############# #############
Model1 Model2 Model2
############# ############# #############
Field1 Field1 Field1
Field2 Field2 Field2
Field3 Field3 Field3
...... Fk(Model1) Fk(Model1)
....... ..........
Model2、Model3等模型有foreignkey对Model1的引用。
选定的模型字段被发送到 django 视图以进行进一步的查询和结果连接。
views.py
def customsearch(request):
queryrequest = json.loads(request.body)
result = []
print queryrequest
""" [{u'value': u'Field1', u'key': u'Model1'}, {u'value': u'Field2', u'key': u'Model2'}, {u'value': u'Field3', u'key': u'Model2'}, {u'value': u'Field2', u'key': u'Field2'}]"""
for item in queryrequest:
if(item['key'] == 'Model1'):
result.append(Model1.objects.filter().values(item['value']))
else:
result.append(item['key'].objects.filter().values(item['value']).select_related('fk'))
我有一个请求的字典列表。该列表由 key(型号名称)和 value(字段)组成。
如何根据上述示例进行查询和合并结果?
我是 django 的新手!
欢迎任何帮助和建议。
【问题讨论】:
标签: angularjs django django-models concatenation django-queryset