以下示例数据库存储新闻帖子和每条新闻的相关信息。我有兴趣检索与每个新闻相关的主题。问题是,它们存储在具有复杂关系的不同表中。
每个新闻都newsid在表中分配了一个NewsFeed:
class NewsFeed(models.Model):
newsid= models.OneToOneField('NewsSub',
on_delete=models.CASCADE, db_column='newsid',
primary_key=True)
def __str__(self):
return str(self.newsid)
newsid类中的字段NewsFeed和模型之间定义了一对一的关系NewsSub:
class NewsSub(models.Model):
newsid = models.BigIntegerField(primary_key=True)
在另一个类中NewsTopic,foreignKey定义了字段newsid与模型之间的关系NewsSub:
class NewsTopic(models.Model):
newsid = models.ForeignKey(NewsSub, on_delete=models.DO_NOTHING,
db_column='newsid')
topicid = models.ForeignKey(NewsLabel, on_delete=models.DO_NOTHING,
db_column='topicid', related_name = 'topic')
在NewsTopicdb表中,每一个newsid可能对应多个topicid。最后,topicid类的字段NewsTopic与模型相关NewsLabel:
class NewsLabel(models.Model):
topicid = models.BigIntegerField(primary_key=True)
topiclabel = models.CharField(max_length=100)
def __str__(self):
return self.topiclabel
在NewsLabeldb 表中,每个toicid对应一个唯一的topiclabel.
我的目标是获取topiclabel与每个相关联的(一个或多个)NewsFeed对象,通过查询newsid。假设result代表一个这样的对象,我想知道是否可以做类似的事情result.newsid.topicid.topiclabel?
感谢和抱歉的长描述!!
元芳怎么了
哔哔one
相关分类