Python 如何向已保存在django中的记录中的列添加值

Python 如何向已保存在django中的记录中的列添加值,python,sql,database,django,aptana,Python,Sql,Database,Django,Aptana,我试图将数据保存到列中,但该记录已保存。我正在使用django和sql models.py class P(models.Model): t=models.ForeignKey(T) q=models.TextField(max_length=500) c_a=models.IntegerField(null=True) 我在models.py中还有其他课程 views.py ... P_object=P(t_id=T_object.id, q=q) P_object.s

我试图将数据保存到列中,但该记录已保存。我正在使用django和sql

models.py

class P(models.Model):
   t=models.ForeignKey(T)
   q=models.TextField(max_length=500)
   c_a=models.IntegerField(null=True)
我在models.py中还有其他课程

views.py

...
 P_object=P(t_id=T_object.id, q=q)
 P_object.save()
...
在这里,我只保存两列,我希望第三列在以后从其他记录获取id时单独保存

 A_object=A(q_id = q_object.id, a=a)
 A_object.save()
 P_object.c_a = A_object.id
但是这个代码似乎不起作用。我做错了吗?

“似乎不起作用”是一个问题的描述可能是无用的。你已经得到了前两点(“这是我所做的”,“这是我所期望的”),但你错过了第三点:“这是我所得到的”。但无论如何

 A_object=A(q_id = q_object.id, a=a)
 A_object.save()
 P_object.c_a = A_object.id
模型实例在修改时不会自动保存,您必须自己保存它们。加上

P_object.save()
你应该没事的。否则,请张贴整个追踪

请注意,您不使用
models.ForeignKey
字段的任何原因?

请尝试:

class P(models.Model):
    t=models.ForeignKey(T)
    q=models.TextField(max_length=500,blank=True)    
    c_a=models.IntegerField(max_length=30,blank=True,null=True)
如果没有解决问题,则可能是p_对象未定义(范围已过期)

使用
对象查找p_对象。获取
并再次保存

A_object=A(q_id = q_object.id, a=a)
A_object.save()
P_object=P.objects.get(t_id=T_object.id)
P_object.c_a = A_object.id
P_object.save()

你的近邻很难给出正确答案。。试着用更多的信息来解释它。。就像那个
T_object
是从哪里来的。我想他在下面的评论中已经说过,他又在做
P_object.save()
。请参考以下答案和评论。。