2016-07-27 13 views
0

基本情報をユーザーに保存し、追加情報を他のテーブルに保存したいと考えています。私は他のheepooテーブルのuser_idフィールドに電子メールを保存する方法がわかりません。あなたは私を助けてくれますか?テーブルにユーザー情報を登録する

class UserForm(forms.ModelForm): 
    email = forms.EmailField(max_length=50, required=True) 
    password = forms.CharField(widget=forms.PasswordInput()) 
    username = forms.HiddenInput() 
    class Meta: 
     model = User 
     fields = ('email', 'password',) 

class RegisterForm(forms.ModelForm): 
    class Meta: 
     model = HeepooUser 
     exclude = ('allow_phone') 

views.py

def register(request): 
    registered = False 
    if request.method == 'POST': 
     user_form = UserForm(request.POST) 
     profile_form = RegisterForm(request.POST) 

     if user_form.is_valid() and profile_form.is_valid(): 
      user = user_form.save(commit=False) 
      user.set_password(user.password) 
      user = user_form.save() 

      profile = profile_form.save(commit=False) 
      profile.user = user 
      profile = profile_form.save() 

      registered = True 

すべてのベストforms.py models.py

class School(models.Model): 
    id = models.IntegerField(primary_key=True) 
    Name = models.CharField(max_length=50, null=False) 

    def delete(self, *args, **kwargs): 
     self.Mascot.delete() 
     super(School, self).delete(*args, **kwargs) 
    def __str__(self): 
     return self.Name 

答えて

0
方法の

確かにロットがあなたのコードをインデントできることですOneToOneField

class Profile(models.Model): 
    user = models.OneToOneField(User, on_delete=models.CASCADE) 
    additional_info = models.CharField(max_length=200) 
+0

@MrKarl Userテーブルへの道が好むのですか?私は見ていきます... –

+0

Rajaを説明してくれてありがとう。もう一つ質問があります:D auth_userテーブルのUsernameフィールドに電子メールアドレスを保存するにはどうしたらいいですか? – MrKarl

+0

@MrKarl今回は別の質問をしています...!なぜユーザー名フィールドにメールを保存したいのですか? –

関連する問題