我目前正在处理一个 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')
# ...
- 或者,如果您使用的是 PostgreSQL,则可以使用 ArrayField as explained :
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=[])
