繁体   English   中英

Django REST API 从相关模型中的 ForeignKey 返回字段

[英]Django REST API return fields from ForeignKey in related model

使用以下型号:

class Tabs(models.Model):
    name = CharField(max_length=64)

    def __str__(self):
        return self.name

class DataLink(models.Model):
    data_id = models.ForeignKey(...)
    tabs_id = models.ForeignKey(Tabs, ...)

    def __str__(self):
        return "{} {}".format(self.data_id, self.tabs_id)

DataLink:                               Tabs:
  id  |  data_id  |  tabs_id       |      id  |  name  
------+-----------+-----------     |    ------+--------
  1   |     1     |    1           |      1   |  tab1
  2   |     1     |    2           |      2   |  tab2
  3   |     1     |    3           |      3   |  tab3
  4   |     2     |    1           |      4   |  tab4
  5   |     2     |    4           |      5   |  tab5

我需要在两个模型/表之间链接数据,以便对于给定的data_id我可以使用Tabs表和tabs_id返回相应选项Tabs列表。

例如:

data_id = 1将返回['tab1', 'tab2', 'tab3']

data_id = 2将返回['tab1', 'tab4']

这可能吗? 怎么样? 这是一个坏主意吗?

如果你只想要一个像给定数据 id 的扁平列表,你应该使用带有你想要的键值和 flat=True kwarg 的值列表。

它看起来像这样。 在你的 shell 中尝试一下。 https://docs.djangoproject.com/en/1.9/ref/models/querysets/#values-list

DataLink.objects.filter(data_id=1).values_list('tabs_id',flat=True)

此外,您用 django rest标记了问题,但没有宁静的上下文。 这似乎只是一个 Django 问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM