[英]Django: How to insert data into field, where pk =?
可以說我有一個事件加載到數據庫中,在description
和status
字段中有信息,但是action_taken
保留為NULL。
class Incident(models.Model):
description = models.TextField()
status = models.ForeignKey(Status, default="open")
action_taken = models.TextField()
如何使用此表單和視圖將信息加載到action_taken
字段中?
表格
class ResolveForm(forms.Form):
action_taken = forms.CharField(widget=forms.Textarea)
views.py
def detail(request, incident_id):
incident = get_object_or_404(Incident, pk=incident_id)
template = "incidents/detail.html"
if request.method == 'POST':
form = ResolveForm(request.POST or None)
if form.is_valid():
action_taken = (form.cleaned_data['action_taken'])
######### MY EFFORTS #########################
q = Incident(action_taken=action_taken)
q.save()
print(incident.id)
#new_incident, created = Incident.objects.get_or_create(action_taken)
##############################################
return render(request, template, {'form': form})
else:
form = ResolveForm()
context = { 'incident': incident,
'form': form}
return render(request, template, context)
錯誤
incident.action_taken = action_taken
錯誤:未定義名稱“ action_taken”
如何使用此表單和視圖將信息加載到
action_taken
字段中?
我看到您已經發生了模型實例incident
,所以應該這樣做
incident = get_object_or_404(Incident, pk=incident_id)
incident.action_taken = action_taken
incident.save()
如果在更新中,您不想觸摸其他字段:
incident = get_object_or_404(Incident, pk=incident_id)
incident.action_taken = action_taken
incident.save(update_fields=['action_taken'])
批評您嘗試了什么:
q = Incident(action_taken=action_taken)
q.save()
這不會獲取您要更新的對象,而是創建一個新對象並保存(而不是您想要的對象)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.