【问题标题】:Django: reference model fields from another modelDjango:来自另一个模型的参考模型字段
【发布时间】:2021-03-27 07:50:45
【问题描述】:

我有两个模型。我需要的是从Users modelCustomer model 字段中引用nameemail 字段。下面的方法正确吗?

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) 
       

【问题讨论】:

    标签: django model field


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      • 2019-03-11
      • 2018-11-08
      • 2015-09-26
      • 2017-01-31
      相关资源
      最近更新 更多