【发布时间】:2013-05-15 04:08:28
【问题描述】:
我想使用 ajax 更新字段:
models.py
>class EmployerInfo(models.Model):
employer = models.ForeignKey(Employer, unique=True)
address=models.CharField(max_length=100, blank=True)
city=models.CharField(max_length=40, blank=True)
contactinfo.html
<form id="ajax-form">
<fieldset>
<legend>Contact Information</legend>
<label>Address:</label>
<input type="text" id="address" value="{{ empinfo.address }}" />
<label>City:</label>
<input type="text" id="city" value="{{ empinfo.city }}" /> <i class="icon-ok"></i>
</fieldset>
</form>
<script>
$(document).ready(function()
{
$("form#ajax-form").find(":input").change(function()
{
var field_name=$(this).attr("id");
var field_val=$(this).val();
var params ={ param1:field_name, param2:field_val };
$.ajax({ url: "/employer/contactinfo/save/",
dataType: "json",
data: params,
success: setResult
});
});
});
urls.py
>.....其他网址
url(r'^employer/contactinfo/save/$', 'save_employer_info_ajax'),
view.py
>def save_employer_info_ajax(request):
emp=Employer.objects.get(user=request.user)
emp_info=EmployerInfo.objects.get(employer=emp)
f_name=request.GET['param1']
f_value=request.GET['param2']
return HttpResponse(json.dumps({"issuccess": 'yes'}), content_type="application/json")
f_name 我要更新的字段的名称。让我们假设它是“地址”。 我如何访问该属性(即 emp_info.address),以便我可以使用 emp_info.save() 函数更新(即 emp_info.address=f_value)。
除了 emp_info.address 之外还有什么方法可以使用,以便我可以使用字符串(即 emp_info[f_name]=f_value )或其他方式访问字段名称??
【问题讨论】: