簡體   English   中英

如何克隆 Django 模型實例對象並在 Django 表單上顯示?

[英]How do I clone a Django model instance object and show on the Django forms?

所以,第一部分很清楚。

customer = Customer.objects.get(pk=1)
customer.pk = None
customer.save() # Saved a new instance. 
# But i want to modify it

這里的問題是我想在保存之前修改該實例。 為此,我必須將它呈現在 HTML 的表單上。

如何做到這一點?

需要的建議。

你好。

您在提交表單后修改 pk。 您將客戶作為實例傳遞給 CustomerForm 並讓該表單保存一個新對象。 就像是:

    class CustomerForm(forms.ModelForm):
        class Meta:
            model = Customer

    def my_view(request):
        customer = Customer.objects.get(pk=1)
        customer.pk = None
        if request.method == 'POST':
            form = CustomerForm(instance=customer)
            if form.is_valid():
                customer = form.save()
                return redirect('...')
        else:
            form = CustomerForm(instance=customer)
        return render(request, 'template', {'form': form})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM