我延伸django的用户模型以包括其他几个变量,如位置,和雇主。现在,我试图创建一个具有以下字段的格式:

First name (from User)
Last name (from User)
Location (from UserProfile, which extends User via a foreign key)
Employer (also from UserProfile)

我已经创建了一个的ModelForm:

from django.forms import ModelForm
from django.contrib import auth
from alert.userHandling.models import UserProfile

class ProfileForm(ModelForm):
    class Meta:
#       model = auth.models.User # this gives me the User fields
        model = UserProfile # this gives me the UserProfile fields

所以,我的问题是,我怎么能创建一个可以访问所有字段,无论是从用户模型或用户配置模型的ModelForm?

希望这是很有意义的。我会很乐意澄清,如果有任何问题。

有帮助吗?

解决方案

您可以创建两个模型的形式(一个用户,一个用于用户配置),或者创建拥有所有的字段自定义表单和视图派遣他们。

from django import forms

class ContactForm(forms.Form):
    first_name = forms.CharField()
    last_name = forms.CharField()
    location = forms.CharField()
    employer = forms.CharField()

其他提示

您不能。 ModelForm希望所有的字段来自一个单一的模式。创建Form的一个孩子,从型号上拉字段定义。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top