2017-08-05 1 views
0

Ich möchte eine Serverseite einer App entwickeln, die Benutzer enthält. Natürlich brauche ich eine Tabelle in der Datenbank mit den Benutzerinformationen. Zunächst mag ichWie gestaltet man die Benutzertabelle in der Datenbank?

class User(models.Model): # using django models 
    userid = ... 
    password = ... 

schreiben, die mir gibt einen database tableuserid und password enthält.

Ich möchte jedoch einige Attribute (vielleicht Kredit, Geburtstag usw.) jedem Benutzer in der Zukunft hinzufügen. Ich kann mir gerade nicht alle vorstellen. Und ich kann nicht wissen, welche Attribute ich in Zukunft wirklich brauchen würde.

Wie kann ich damit umgehen?

+1

Sie ** müssen ** nicht Ihren eigenen Code schreiben, um Passwörter zu speichern. –

+0

Beginnen Sie vielleicht mit dem Lesen der Django-Dokumentation: https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#extending-the-existing-user-model – allcaps

Antwort

0

Django bietet ein Standardmodell für User. Du kannst es so benutzen.

from django.contrib.auth.models import User 

und wie pro Ihre zweite Abfrage. Sie können dies tun, indem Sie ein anderes Modell erstellen und ein ForeignKey oder OneToOneField Modell User hinzufügen, um es mit jedem Benutzer zu verknüpfen.

class Customuserprofile(models.Model): 
    user=models.OneToOneField(settings.AUTH_USER_MODEL) 
    credit=models.CharField() 
    birthday=models.DateTimeField() 
0

Es gibt bereits eine Benutzertabelle in Django. Diese Tabelle wird automatisch erstellt, wenn Sie die Migration zum ersten Mal mit dem Befehl "manage.py migrate" anwenden.

In Datenbank-Schema wird diese Tabelle als auth_user aufgelistet und Sie es in Django mit dem folgenden Befehl

from django.contrib.auth.models import User 
Verwandte Themen