gpt4 book ai didi

python - Django:合并来自表单和数据库的文本

转载 作者:行者123 更新时间:2023-11-29 13:54:42 25 4
gpt4 key购买 nike

我目前正在处理一个 Django 项目。

我有字典在里面:

来自模型.py

class teltab(models.Model):
code=models.CharField(max_length=255)
telescope=models.CharField(max_length=255)
comment=models.TextField(blank=True)

以及向字典添加数据的表单:

class newtelescopesform(forms.ModelForm):
class Meta:
model=teltab

现在我需要做以下事情:

  • 从数据库(我正在运行 Postgresql)中获取文本 (Сomment 1),
  • 从表单中获取文本(评论 2),
  • 合并数据(Сomment 1 + Сomment 2),
  • 最后将结果写入数据库。

即我的 table 看起来像这样

Fig1

我想得到这个

Fig2

所以我的代码来自 views.py:

  if len(request.GET['comment'])>0:
commentq=request.GET['comment'] # I expect that it will take the text from form
p=tel_list.get('comment', "") # I expect that it will take the text from database
commentp = p + "\n" + commentq # and it should merge the text
tel_list.update(comment=commentq)
for item in tel_list:
item.save()

但它给了我一条错误消息:“要解压的值太多”

我的问题是我做错了什么?错误原因是什么?

请教我一个优雅的解决方案。

(对不起,很长的文字,我显然不知道我在做什么)。

最佳答案

几乎可以肯定,使用单独的 Comment 模型并与原始模型形成外键关系会更好。

class Teltab(models.Model): # it’s good python coding style to capitalize classnames
code = models.CharField(max_length=255)
telescope = models.CharField(max_length=255)

class Comment(models.Model):
text = models.TextField(required=True)
teltab = models.ForeignKey(Teltab)

然后您可以获得对原始模型的所有评论,例如 -

my_teltab = Teltab.objects.first()
my_teltab.comment_set.all()

关于python - Django:合并来自表单和数据库的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34455215/

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