是否可以访问由 ForeignKey Django 连接的不同表的值
Is it possible to access the value of different tables connected by ForeignKey Django
所以我为这个问题创建了一个小的数据库关系:
from django.db import models
# Create your models here.
class Poll(models.Model):
title = models.CharField(max_length=255)
date_created = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
def __str__(self):
return self.title
class Option(models.Model):
title= models.CharField(max_length=50)
poll = models.ForeignKey(Poll, on_delete=models.CASCADE)
desc = models.CharField(max_length=255)
def __str__(self):
return self.title
class Voter(models.Model):
name = models.CharField(max_length = 255)
option = models.ForeignKey(Option, on_delete=models.CASCADE)
def __str__(self):
return f'{self.name} - {self.option}'
所以我有两个问题:
是否可以从 Voter
模型的 __str__
函数访问 Option
模型的 desc
字段的值?
是否可以从 Voter
模型的 __str__
函数访问 Poll
模型的 date_created
字段的值?
非常感谢!
您可以使用.
访问相关模型和字段,并且由于您的模型关系,您可以像下面那样做。
1- {self.option.desc}
2- {self.option.poll.date_created}
所以我为这个问题创建了一个小的数据库关系:
from django.db import models
# Create your models here.
class Poll(models.Model):
title = models.CharField(max_length=255)
date_created = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
def __str__(self):
return self.title
class Option(models.Model):
title= models.CharField(max_length=50)
poll = models.ForeignKey(Poll, on_delete=models.CASCADE)
desc = models.CharField(max_length=255)
def __str__(self):
return self.title
class Voter(models.Model):
name = models.CharField(max_length = 255)
option = models.ForeignKey(Option, on_delete=models.CASCADE)
def __str__(self):
return f'{self.name} - {self.option}'
所以我有两个问题:
是否可以从
Voter
模型的__str__
函数访问Option
模型的desc
字段的值?是否可以从
Voter
模型的__str__
函数访问Poll
模型的date_created
字段的值?
非常感谢!
您可以使用.
访问相关模型和字段,并且由于您的模型关系,您可以像下面那样做。
1- {self.option.desc}
2- {self.option.poll.date_created}