여러 테이블에서 원시 SQL을 수행해야합니다. 그런 다음 결과 세트를 렌더링합니다. 내가 뭐하는 거지 여러 테이블의django/python : 여러 테이블이있는 원시 SQL
sql = "select * from my_table"
results = my_table.objects.raw(sql)
을 : 하나 개의 테이블을 위해 내가 할 것,
sql = "select * from my_table, my_other_table where ...."
results = big_model.objects.raw(sql)
을하지만 난 정말 모든 필드를 포함하는 테이블/모델/클래스 big_model를 작성해야 할 것을 I 필요할지도 몰라? 나는이 "테이블"에 실제로 어떤 데이터도 저장하지 않을 것입니다.
추가 :
테이블 my_users가 있습니다. 나는 테이블 my_listings을 가지고있다. 이것들은 Models.py에 정의되어 있습니다. 테이블 my_listings에는 my_users에 대한 외래 키가 있으며 이는 누가 목록을 작성했는지 나타냅니다.
는 SQL은
"select user_name, listing_text from my_listings, my_users where my_users.id = my_listings.my_user_id".
내가이 SQL 내가 장고에 내 페이지를 렌더링하는 데 사용할 수있는 결과 세트를 생성 할 수 있습니다.
질문 : 나는 user_name 및 listing_text 필드가 포함 된 모델을 만들어야합니까? 아니면 원시 SQL (select, from, where)을 사용하는 더 좋은 방법이 있습니까? 물론, 실제 쿼리는이 예제보다 복잡합니다. (models.py에서 정의한 모델은 데이터베이스의 실제 테이블이되고 따라서 모델/테이블 용어의 사용은 미안합니다. 미안합니다.) 파이썬 테이블 참조 만 발견했기 때문에 raw SQL을 사용합니다. 간단한 데이터 모델로 작업하십시오.
여기에서 성취하고자하는 것은 분명하지 않습니다. 아마도 모델에 대한 세부 정보를 표시하고이 쿼리가 의도 한 내용이 도움이 될 것입니다. –
테이블이 외래 키로 결합되는 둘 이상의 테이블에서 선택하려고합니다. 실제 쿼리를 작성하는 데 도움이 필요하지 않습니다. 죄송합니다, 왜 명확하지 않은지 잘 모르겠습니다. ( – user984003
당신이 쿼리에 도움이 필요해 보입니다. 왜 장고에서 원시 SQL이 필요하다고 생각하는지 모르겠습니다. 질문을 작성하는 데 도움이된다면 질문하는 것에 대한 아이디어가 적어집니다. –