>

다음 모델의 경우 :

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'] 를 반환합니다

이것이 가능합니까? 방법? 나쁜 생각입니까?


  • 답변 # 1

    데이터 ID가 주어진 것과 같은 평평한 목록을 원한다면 원하는 키-값과 flat = True kwarg와 함께 값 목록을 사용해야합니다.

    이것은 다음과 같습니다. 쉘에서 사용해보십시오. https://docs.djangoproject.com/en/1.9/ref/models/querysets/#values-list

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

    또한 djangorest로 질문에 태그를 지정했지만 편안한 컨텍스트는 없습니다. 지정하지 않으면 장고 질문 인 것 같습니다

관련 자료

  • 이전 openmdao - 컨버전스 검증주기 GS
  • 다음 c# - Visual Studio 2010에서 손상된 csproj 파일을 어떻게 복구 할 수 있습니까?