django - django过滤数据并合并所有数据点以分配给新数据
问题描述
我的模型如下
class Drawing(models.Model):
drawingJSONText = models.TextField(null=True)
project = models.CharField(max_length=250)
保存在 drawingJSONText 字段中的示例数据如下
{"points":[{"x":109,"y":286,"r":1,"color":"black"},{"x":108,"y":285,"r":1,"color":"black"},{"x":106,"y":282,"r":1,"color":"black"},{"x":103,"y":276,"r":1,"color":"black"},],"lines":[{"x1":109,"y1":286,"x2":108,"y2":285,"strokeWidth":"2","strokeColor":"black"},{"x1":108,"y1":285,"x2":106,"y2":282,"strokeWidth":"2","strokeColor":"black"},{"x1":106,"y1":282,"x2":103,"y2":276,"strokeWidth":"2","strokeColor":"black"}]}
我正在尝试编写一个视图文件,其中根据项目字段过滤数据,并将结果的所有绘图 JSONText 字段查询集制成一个数据
def load(request):
""" Function to load the drawing with drawingID if it exists."""
try:
filterdata = Drawing.objects.filter(project=1)
ids = filterdata.values_list('pk', flat=True)
length = len(ids)
print(list[ids])
print(len(list(ids)))
drawingJSONData = dict()
drawingJSONData = {'points': [], 'lines': []}
for val in ids:
if length >= 0:
continue
drawingJSONData1 = json.loads(Drawing.objects.get(id=ids[val]).drawingJSONText)
drawingJSONData["points"] = drawingJSONData1["points"] + drawingJSONData["points"]
drawingJSONData["lines"] = drawingJSONData1["lines"] + drawingJSONData["lines"]
length -= 1
#print(drawingJSONData)
drawingJSONData = json.dumps(drawingJSONData)
context = {
"loadIntoJavascript": True,
"JSONData": drawingJSONData
}
# Editing response headers and returning the same
response = modifiedResponseHeaders(render(request, 'MainCanvas/index.html', context))
return response
我运行没有错误,但它显示一个空白屏幕我不认为 for 函数正在工作有关如何纠正的任何建议
解决方案
我想你可能想要
for id_val in ids:
drawingJSONData1 = json.loads(Drawing.objects.get(id=id_val).drawingJSONText)
drawingJSONData["points"] = drawingJSONData1["points"] + drawingJSONData["points"]
drawingJSONData["lines"] = drawingJSONData1["lines"] + drawingJSONData["lines"]
推荐阅读
- python - 有没有办法使用模板匹配来检测输入的变化?
- prolog - 在 SWI-Prolog 中访问和爬取文件系统
- javascript - JavaScript“静态”方法?
- c - “for”循环中的变量范围
- discord.js - 如何向加入我服务器的新用户发送私人消息?
- java - 尝试升级 Singelton 以准确获取一个对象的两个实例
- amazon-web-services - 如何在 CDK 打字稿中创建 Dynamodb 指标
- mysql - 如何解决 Incorrect string value MySQL 错误?
- sql - 按 1,2,3,4 排序
- r - 在 flexdashboard 闪亮小部件中创建一个依赖于另一个输入变量的输入变量