我通过AJAX从html字段发送数据
var dataToSend = { some1 : $('.name1').html().replace(/[\n\r]/g, '').trim(),
some2 : $('.name2').html().replace(/[\n\r]/g, '').trim(),
some3 : $('.name3').html().replace(/[\n\r]/g, '').trim(),
some4 : $('.name4').html().replace(/[\n\r]/g, '').trim() }
if (dataToSend) {
$.ajax({
url: 'do/smth',
data: dataToSend,
async: false,
type: 'POST',
success: function() {
alert('draft is saved')
}
});
}
然后我收到确实包含数据的POST请求但我的模型仅在所有参数都存在时保存,例如,如果我只得到{some1:“value1”,some2:“value2”}我的django视图WONT保存它。
问题是:如果我的字段为空,我怎么可能将数据保存到数据库中,因为你可以看到我的模型中有blank=True
,但它没有帮助
模型
class Draft(models.Model):
name = models.CharField(_('company name'), max_length=100, blank=True)
slug = models.SlugField(max_length=255, blank=True)
pitch = models.CharField(_('pitch'), max_length=140, blank=True)
url = models.CharField(_('url'), max_length=255, null=True, blank=True)
thesis = models.TextField(_('thesis'), blank=True)
def __unicode__(self):
return self.name
视图
def save_from_ajax_post(request):
data = dict(request.POST.items())
draft = Draft.objects.create(data)
draft.save()
return HttpResponse(json.dumps({'status': 1}), content_type="application/json")