4 de mayo de 2019
Usted necesita para hacer usertype
un campo determinado, por ejemplo un CharField
donde se establece la choices
[Django-doc], como:
from django.db import models
from django.contrib.auth.models import User
USERTYPE_CHOICES = (
('S', 'Student'),
('T', 'Teacher')
)
class Usertype(models.Model):
user = models.ForeignKey(User,related_name = 'Usertype')
usertype = models.CharField(max_length=1, choices=USERTYPE_CHOICES)
Tenga en cuenta que usted probablemente querrá hacer el ForeignKey
un OneToOneField
[Django-doc] en lugar de evitar la creación de dos Usertype
s de la misma User
.
También es aconsejable el uso de get_user_model
[Django-doc] en lugar de referirse a la User
modelo directamente, ya que permite cambiar el modelo de usuario más cómoda, como:
from django.db import models
from django.contrib.auth import get_user_model
USERTYPE_CHOICES = (
('S', 'Student'),
('T', 'Teacher')
)
class Usertype(models.Model):
user = models.OneToOneField(get_user_model(), related_name='Usertype')
usertype = models.CharField(max_length=1, choices=USERTYPE_CHOICES)
En su app/admin.py
, también tendrá "registrar" su modelo que se muestra en el sitio de administración:
# app/admin.py
from django.contrib import admin
from app.models import Usertype
admin.site.register(Usertype)