簡體   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