2015-12-23 40 views
2

我目前正在使用一個Django項目。將文本添加到單元格而不覆蓋現有數據

我在它的字典:

從models.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 

通常我從評論形式並將其寫入詞典:

from views.py

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

但現在我需要追加一個新的註釋到結果表中已經存在的單元格。

即我的表看起來像這樣

Current table

,我想這

Table of my dreams

+0

什麼是tel_list?你可以將它添加到你的問題?你使用的是哪個數據庫? – DhiaTN

+0

這是一個壞主意,但只要使用數據庫的任何語法來串聯字符串即可。 –

+0

哦,對不起,我刪除了太多的代碼,tel_list基本上是:tel_list = teltab.objects.all()。數據庫寫在Postgresql上。 –

回答

-1

我想ü應該模型註釋字段類型更改爲文本字段:

comment=models.TextField(blank=True) 

Th只需在其中添加「/ n {新行}」 編輯:丹的權利,如果我沒有弄錯,那麼有機會在模型中存儲列表並不是一個好主意。

0
  • 其實任你定義新的註釋模式與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=[]) 
+0

非常感謝!我仍然遇到代碼問題,但它有幫助。 –

+0

你還有什麼樣的問題? – DhiaTN

相關問題