Django: поля эталонной модели из другой модели

#django #model #field

#django #Модель #поле

Вопрос:

У меня есть две модели. Что мне нужно, так это ссылаться на имя и поле электронной почты из полей Users model to Customer model . Правильно ли следующий способ?

 class Users(AbstractBaseUser):
    name = models.CharField(max_length=200)
    email =  models.CharField(max_length=200)
 
 from users.models import Users

class Customer(models.Model):
    user = models.OneToOneField(
        Users, on_delete=models.CASCADE, null=True, blank=True)

    name = models.OneToOneField(
        Users.name, on_delete=models.CASCADE, null=True, blank=True)

    email = models.OneToOneField(
        Users.email, on_delete=models.CASCADE, null=True, blank=True) 
       
 

Ответ №1:

 class Users(AbstractBaseUser):
    name = models.CharField(max_length=200)
    email =  models.CharField(max_length=200)
    
class Customer(models.Model):
    user = models.OneToOneField(
        Users, on_delete=models.CASCADE, null=True, blank=True)
 

Вот и все. Тогда вы можете сделать, например

 Customer.objects.get(pk=1).user.name