gpt4 book ai didi

python - 使用 Django 将查询集组合成单个字符串

转载 作者:太空狗 更新时间:2023-10-30 01:51:45 25 4
gpt4 key购买 nike

假设我有一个非常简单的模型,它只是一个单词列表:

class WordList(models.Model):
word = models.CharField(max_length=60)

用户提交表单后,我想...

  • 检索四个随机词
  • 将它们组合成一个字符串
  • 确保以前没有生成重复的字符串,如果是,则再次运行
  • 好的时候将其保存到数据库
  • 将结果返回给用户。

我知道如何得到四个随机词:

WordList.objects.order_by('?')[:4]

我知道如何使它成为一个上下文并将它返回到一个模板,此时我可以用它做任何事情,但我不知道我是如何在幕后做这件事的,这样我就可以做我剩下的事情了在返回给用户之前。最终的字符串应如下所示:

these-are-my-words

此外,我应该在我的应用程序的什么地方执行此操作?我来自 PHP,在那里,我会有一个 functions.php 文件或其他东西来执行后端工作并将其保留在演示文稿之外。我发现其他一些人的帖子说他们使用 functions.py,但我不确定如何包含与现有 不在同一文件夹中的外部页面 View .py。如果我这样做:

from functions import myfunc

只有当 functions.py 位于我从中导入它的文件夹中时,它才有效。

最佳答案

要将查询集转换为字符串,请使用 python's join function .

your_string = '-'.join([str(i) for i in WordList.objects.order_by('?')[:4]])

我怀疑这段代码实际上应该存在于您的一个 View 中并且永远不会触及您的数据库,但是如果不知道您的应用程序在做什么,这很难说。 (您确定要将此字符串传递给模板并将其呈现到 html 页面上吗?)

关于python - 使用 Django 将查询集组合成单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15054988/

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