gpt4 book ai didi

python - 如何将值为 True 的数据存储中的所有属性移动到另一个数据存储?

转载 作者:太空宇宙 更新时间:2023-11-04 06:28:22 28 4
gpt4 key购买 nike

有没有一种方法可以将模型中所有属性的值设置为 True 移动到另一个模型?我正在用 Python 编写并具有以下内容:

 class crimechecker(webapp.RequestHandler):
def get(self):
#Checks for crime
articles = Article.all().filter('crime = ', None)
for article in articles:
crime = False
for word in triggers:
body = article.body
if body.find(word) != -1:
crime = True
article.crime = crime
a = article.put()

然后运行一个单独的 cron:每个犯罪故事连同它们的位置被添加到 Story 中。但是故事没有出现在 Story 模型中?!

class place(webapp.RequestHandler):
def post(self):
# Check for any article which was classified as "TRUE" therefore it is a crime document
crimes = Article.all().filter('crime = ', True)
for crimestory in crimes:
if Story.all().filter('title = ', crimestory.title).count() == 0:
#Yahoo Placemaker key
p = placemaker('HSnG9pPV34EUBcexz.tDYuSrZ8Hnp.LowswI7TxreF8sXrdpVyVIKB4uPGXBYOA9VjjF1Ca42ipd_KhdJsKYjI5cXRo0eJM-')
#Encoding for symbols and euro signs etc.
print p.find_places(crimestory.body.encode('utf-8'))
for place in p.places:
splitted = place.name.split()
#Check for locations within Ireland (IE)
if 'IE' in splitted:
story = Story(long=place.centroid.longitude, lat=place.centroid.latitude, link=crimestory.link, loc_name=place.name, title=crimestory.title, date=crimestory.date).put()
logging.info(story)

我有 2 个模型:文章和故事。所有文章都存储在文章模型中,任何带有 crime = True 的文章都被设置在 Story 模型中。出于某种原因,它没有移动故事。cron 正在运行并且没有任何日志错误。我可以在我的仪表板中执行此任务吗?我查询了这两个模型:

SELECT * FROM Article ORDER BY date DESC

文章模型包含今天(5 月 2 日)的故事

故事有 4 月 19 日的文章,此后不再有。我可以查询模型并说将所有犯罪设置为真实的实体移动到 Story 模型吗?

最佳答案

我没有发现您的代码有任何明显的错误。由于我们已经确定没有错误,我的建议是在更高的位置添加更多的 logging.info 调用,以查看哪个 if 语句评估为 false,或者哪个 for 循环迭代空集。此外,您是否确认 crimechecker 已成功将新的犯罪故事设置为 True?听起来您并没有确定您的两个 cron 作业中的哪一个有问题。

更根本的是,我认为你应该重新考虑这个任务的基本设计。让我们将其分为 3 个步骤:

  1. 用户创建一个带有标题和正文的新文章实体
  2. 如果正文包含某些关键字,将其标记为包含犯罪。
  3. 如果其中包含犯罪,则创建相应的 Story 实体。

为什么不在保存文章时在一个处理程序中完成所有这些工作?为什么要把它分成三个不同的部分?除了使操作变得复杂之外,您的第二个 cron 作业在规模上也是低效的。您正在获取自时间开始以来的每一个犯罪故事,并对每个故事进行一次查询以查看是否有相应的故事。如果您积累了大量的文章,这将无法及时完成。

如果您担心在首次保存文章时执行所有这些任务会影响性能,请使用任务队列。第一次保存文章时,创建一个任务来扫描它以查找犯罪关键词。如果找到关键字,则创建一个任务来存储相应的故事实体。在任务参数中传递实体键,这样您就不必查询任何内容。

关于python - 如何将值为 True 的数据存储中的所有属性移动到另一个数据存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5856271/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com