簡體   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