使用以下型号:
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
返回相应选项卡的列表。
例如:
data_id = 1
会返回['tab1', 'tab2', 'tab3']
data_id = 2
会返回['tab1', 'tab4']
这可能吗?怎么样?这是个坏主意吗?
答案 0 :(得分:0)
如果你只想要一个像给定数据id那样的扁平列表,你应该使用值列表和你想要的键值以及flat = True kwarg。
它会看起来像这样。在你的shell中试试吧。 https://docs.djangoproject.com/en/1.9/ref/models/querysets/#values-listDataLink.objects.filter(data_id=1).values_list('tabs_id',flat=True)
另外,您使用django rest 标记了该问题,但没有其余的上下文。这似乎是一个Django问题,除非你指定