2016-07-27 16 views
0

Ich möchte die grundlegenden Informationen für Benutzer und zusätzliche Informationen zu anderen Tabellen speichern. Ich weiß nicht, wie ich E-Mail zu anderen Heepoo Tabelle user_id Feld speichern kann. Könnten Sie mir bitte weiterhelfen?Benutzerinformationen zu separaten Tabellen registrieren

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 

forms.py

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 

die beste All.

Antwort

0

sicher viele Verfahren gibt es bevorzugen Weg ist OneToOneField zu Benutzertabelle

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

@MrKarl können Sie Ihren Code einrücken? Ich werde schauen ... –

+0

Danke, Raja zu erklären. Ich habe noch eine Frage: D Wie kann ich die E-Mail-Adresse in das Feld Benutzername in der Tabelle auth_user speichern? – MrKarl

+0

@MrKarl fragst du diesmal andere Frage ...! Warum möchten Sie E-Mails im Feld Benutzername speichern? –

Verwandte Themen