Skip to main content
 首页 » 编程设计

python之在不覆盖现有数据的情况下向单元格添加文本

2025年05月04日10Leo_wl

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

我有字典在里面:

来自模型.py

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

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

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

通常我从表单中得到一条评论并将其写入字典:

来自 views.py

if len(request.GET['comment'])>0: 
                commentq=request.GET['comment'] 
                tel_list.update(comment=commentq) 
                for item in tel_list:  
                    item.save() 

但现在我需要将新注释附加到结果表中已存在的单元格中。

即我的 table 看起来像这样

我想得到这个

请您参考如下方法:

  • 事实上,要么您使用 ForeignKey 定义新的评论模型:teltab
   class telTabModel(models.Model): 
       code=models.CharField(max_length=255) 
       telescope=models.CharField(max_length=255) 
 
    class CommentModel(models.Model): 
        teltab = models.ForeignKey('telTabModel', related_name='comments') 
        # ... 
    from django.contrib.postgres.fields import ArrayField 
 
    class telTabModel(models.Model): 
        code=models.CharField(max_length=255) 
        telescope=models.CharField(max_length=255) 
        comments = ArrayField(models.CharField(max_length=200), blank=True), 
  • 如果您不使用 PosgreSQL 但仍想使用数组,我会推荐 Jsonfield

    pip install jsonfield 
    
    from jsonfield import JSONField 
 
    class telTabModel(models.Model): 
        code=models.CharField(max_length=255) 
        telescope=models.CharField(max_length=255) 
        comments = JSONField(default=[])