DjangoにはUser(Djangoで事前定義)とUserProfileという2つのモデルがあります。 2つは外部キーを介して接続されています。DjangoでUserとUserProfileオブジェクトを保存するビューを作成する方法
models.py:私はUserCreationFormを使用してい
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True, related_name="connect")
location = models.CharField(max_length=20, blank=True, null=True)
は、ユーザーモデルのために(ジャンゴによって事前に定義された)、およびforms.py
#UserCreationForm for User Model
class UserProfileForm(ModelForm):
class Meta:
model = UserProfile
exclude = ("user",)
IでのUserProfileのために別のフォームを作成これら2つのフォームを両方ともテンプレートregistration.htmlにロードすると、ウェブサイトの顧客は両方のモデルに含まれるフィールドに関するデータを入力できます(Userモデルの "first_name"、 "last_name"、UserProfileモデルの "location")。
私の人生にとって、私はこの登録フォームのビューを作成する方法を理解できません。これまでに試したことは、Userオブジェクトを作成しますが、対応するUserProfileオブジェクトの場所などの他の情報を関連付けません。誰か助けてくれますか?これは私が現在持っているものである:ほとんどそこ
def register(request):
if request.method == 'POST':
form1 = UserCreationForm(request.POST)
form2 = UserProfileForm(request.POST)
if form1.is_valid():
#create initial entry for User object
username = form1.cleaned_data["username"]
password = form1.cleaned_data["password"]
new_user = User.objects.create_user(username, password)
# What to do here to save "location" field in a UserProfile
# object that corresponds with the new_user User object that
# we just created in the previous lines
else:
form1 = UserCreationForm()
form2 = UserProfileForm()
c = {
'form1':UserCreationForm,
'form2':form2,
}
c.update(csrf(request))
return render_to_response("registration/register.html", c)
http://stackoverflow.com/questions/569468/django-multiple-models-in-one-template-using-forms –