繁体   English   中英

保存表单时如何将数据传递到 model 字段? django 表格型号保存

[英]How to pass data to the model field when saving the form? django form models save

获取表格并在后期处理。 需要将记录的唯一uuid保存到model,我是这样操作的: formOne.save(related_uuid=related_uuid)

但不起作用,错误是 - save() got an unexpected keyword argument 'related_uuid'

楷模

class Orders(models.Model):
    device = models.CharField(max_length=150)
    uuid = models.CharField(max_length=22, blank=True)

意见

class OrderAddView(TemplateView):
    template_name = 'orders/order_add.html'

    def get(self, request, *args, **kwargs):
        context = super().get_context_data(**kwargs)
        ... some work code
        return self.render_to_response(context)

    def post(self, request, *args, **kwargs):
        formOne = SimpleOrderAddForm(self.request.POST, prefix='one_form')        
        if formOne.is_valid():
            related_uuid = shortuuid.uuid()           
            formOne.save(related_uuid=related_uuid)            
            return HttpResponseRedirect('orders_home')
        else:
            print('NotValid')
            return self.form_invalid(formOne, **kwargs)

    def form_invalid(self, formOne,, **kwargs):
        context = self.get_context_data()
        ... some work code
        return self.render_to_response(context)

假设“shortuuid.uuid()”返回正确的 uuid; 尝试

def post(self, request, *args, **kwargs):
formOne = SimpleOrderAddForm(self.request.POST, prefix='one_form')        
if formOne.is_valid():
    a=formOne.save(commit=False) 
    a.related_uuid=shortuuid.uuid()         
    a.save()            
    return HttpResponseRedirect('orders_home')
else:
    print('NotValid')
    return self.form_invalid(formOne, **kwargs)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM