在不使用ModelForm时,Django表单如何知道保存数据的位置?

Cam*_*hez 2 python forms django django-forms

如果我没有使用ModelForm?指定其模型,Django如何知道一个表单与哪个数据库表相关?你看,用这样的形式:

from django import forms

class CommentForm(forms.Form):
    name = forms.CharField()
    url = forms.URLField()
    comment = forms.CharField(widget=forms.Textarea)
Run Code Online (Sandbox Code Playgroud)

Django如何知道它必须将这些数据保存在模型X中?

对我来说,当你使用它时很明显:

from django.forms import ModelForm
from myapp.models import Article

class ArticleForm(ModelForm):
    class Meta:
        model = Article
        fields = ['pub_date', 'headline', 'content', 'reporter']
Run Code Online (Sandbox Code Playgroud)

cor*_*cor 6

您需要在视图中将表单与模型相关联.如:

form = CommentForm(request.POST)
if form.is_valid():
    name = form.cleaned_data['name']
    url = form.cleaned_data['url']
    comment = form.cleaned_data['comment']

    my_comment = Comment(name=name,url=url,comment=comment)
    my_comment.save()
Run Code Online (Sandbox Code Playgroud)