Django 创建两个模型实例而不是一个

Django creates two model instances instead of one

我正在尝试从 youtube 学习一些 django 基础知识,但当我尝试使用表单创建一些模型实例时得到了奇怪的结果。 Django 隐式地创建了两个重复的实例。 这是我的观点:

from django.shortcuts import render
from .forms import ProductModelForm
from .models import Product

def create(request):
    form = ProductModelForm(request.POST or None)
    if form.is_valid():
        obj = form.save(commit=False)
        data = form.cleaned_data
        Product.objects.create(title_text=data.get("title_text"))
        obj.save()
    return render(request, "test_app/create.html", {"form": form})

表格:

from django import forms
from .models import Product

class ProductModelForm(forms.ModelForm):
    class Meta:
        model = Product
        fields = [
            "title_text",
        ]

还有一个模板:

{% block content %}

<form action="." method="post">{% csrf_token %}

    {{ form }}
    <button type="submit">Save Model</button>

</form>

{% endblock %}

提前致谢。

obj = form.save(commit=False)

这先创建一个实例。

obj.save()

然后创建另一个实例。

这将创建一个对象

obj = form.save(commit=False) 
obj.save()

这将创建一个对象

data = form.cleaned_data
Product.objects.create(title_text=data.get("title_text"))

试试这个

obj = form.save(commit=False)
data = form.cleaned_data
obj.title_text = data.get("title_Text")
obj.save()