python - 如何获取和匹配要保存到数据库的特定类别根中的类别?
问题描述
祝大家有美好的一天。您需要从根类别中获取所有 id,并将其传递给模型的创建。目前我正在这样做:
game = driver.find_element_by_class_name('breadcrumbs').find_elements_by_tag_name('a')[0].text #root cat
data_categories = driver.find_elements_by_class_name('rightDetailsBlock')[0].find_elements_by_tag_name('a') # I get categories that need to be mapped to the category root
root_category = Category.objects.get(slug=game) #I get the root category
children_categories = root_category.get_descendants(include_self=False) #I get children in the root category
category_list = [] # list for saving to base
for data_category in data_categories:
data_category = data_category.text
try:
cildren_cat = children_categories.filter(slug__icontains=data_category)
category_list.append(cildren_cat)
except Exception as ex:
print(ex)
category_list.append(root_category)
category_list = list(set(category_list))
创建模型时:
try:
data = Post.objects.get(title=title)
print('File duplicated in database!')
data.save()
except Post.DoesNotExist:
print('File starting save in database!')
data = Post.objects.create(
title=title,
slug=slug,
content=format_html(content),
created_by_id=7,
is_published=True,
author=', '.join(map(str, author_list)),
source=self.task.url
)
data.category.add(*category_list)
data.save()
我发现了一个错误:
Task modules.parser.tasks.parser_driver_task[da70b753-fd59-4103-a32d-806096b52616] raised unexpected: TypeError("Field 'id' expected a number but got <TreeQuerySet []>.")
我明白错误是什么。但是我不知道如何解决另一个问题以获取根类别并匹配其子类别并获得 id 列表作为结果?
谢谢您的帮助。
解决方案
推荐阅读
- flutter - 以编程方式在 Flutter 中的图像顶部绘制圆圈
- python - Numpy 矩阵求逆对大于 18 的阶数给出错误结果
- django - django_filters,如何根据关联模型进行查询?
- github - 解压缩错误:未找到中央目录结尾签名。此文件不是 zipfile,或者它构成多部分存档的一个磁盘
- angular - 在加载任何组件之前从标头获取 Auth Token
- python - 使用请求 python 列出所有加载了网页的媒体和文档文件
- windows - 批处理脚本 + FFmpeg -- 使用 FOR 循环来管道和连接除最后一个文件之外的所有文件
- php - 未捕获的错误:在 null 中调用成员函数 query()
- php - PHP多文件上传只会上传前10个选择的文件(尝试更改max_file_uploads)主机说它是我的代码?
- firebase - 如何使用事件范围的自定义维度和指标报告