首页 > 解决方案 > 如何使用 django Forms 在数据库表中为 ChoiceField 添加一列

问题描述

我使用 Django Forms 创建了一个用于注册的表。但是在数据库表中没有为 ChoiceField 创建一个列。谁能给我一个解决方案?

表格.py

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm

TYPE_CHOICES= [
    ('individual', 'Individual'),
    ('company', 'Company'),
    ]

class UserForm(UserCreationForm):
    first_name = forms.CharField(max_length=50)
    register_type = forms.ChoiceField(choices=TYPE_CHOICES)

class Meta:
    model = User
    fields = ['first_name','username','password1','password2','register_type']

视图.py

from django.shortcuts import render,redirect
from .forms import UserForm

def register(request):
    if request.method == 'POST':
        form = UserForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('login')
    else:
        form = UserForm()
    return render(request, 'register.html', {'form': form})

标签: pythondjango-forms

解决方案


推荐阅读