我正在尝试将与教师关联的校园存储在设备模型中。我尝试创建模型方法,但无法从相关模型访问它。
class Campus(models.Model):
name = models.CharField(max_length=20)
def __str__(self):
return self.name
class Teacher(models.Model):
campus = models.OneToOneField(Campus, on_delete=models.CASCADE, default="Not Assigned")
class Device(models.Model):
owner = models.ForeignKey(Teacher, on_delete=models.CASCADE)
最佳答案
给定您的外键和一对一字段,您想要的查询将如下所示
device_queryset = Device.objects.all()
for device in device_queryset:
print(device.owner.campus.name)
在 Device 实例上,您可以通过引用字段 owner
来访问教师模型,该字段是 Teacher
的外键。进入Teacher
后,您可以访问其属性,例如campus
等。
您可能会发现有关字段查找的文档很有用 https://docs.djangoproject.com/en/2.1/ref/models/querysets/#id4
关于django - 如何访问相关对象的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52462059/