2017-10-08 19 views
0

私はこのようなクエリセットを持っています。内部の私はちょうど使う部屋の名前を取得する2番目のクエリを印刷する場合roomshare別のクエリセットdjangoからクエリセットに追加

内部に格納されてroom

<QuerySet [<RoomShare: Shared room u'208349023840928', for company 2>]> 

ある

<QuerySet [<Room: localhost>, <Room: chat>]> 

for x in roomshare: 
      print(x.room.room_name) 
which gives me `Room Fun` 

私は、最初のクエリセットにこのRoom_Funを追加したいと思います。

そして、それは私が別の方法の試みたが、私が望む結果を達成できなかったこの

<QuerySet [<Room: localhost>, <Room: chat>, <Room: Room_Fun]> 

のようになります。 また、2番目のクエリセットには2つ以上のroomShareを含めることができるため、forloopを使用して最初のクエリセットに複数回追加する必要があります。あなたはクエリセットを追加するitertools chainメソッドを使用することができます

答えて

0

、リストなど は、すでに2つのクエリセットroomsroomsharesを持っている、のは、言ってみましょう。

from itertools import chain rooms_from_roomshares = [x.room for x in roomshares] all_rooms = list(chain(rooms, rooms_from_roomshares))

+0

私が持っているしたい場合は、それは、[roomsharesでxについてx]をすることができ、roomshares名だけでなく、IDだけではなくを言うことができますか? – xxxxxerwwrxx

+0

[x.id for x roomhares]はあなたに客室の礼儀IDのリストを提供します。 [roomshares内のx.room.idのx.room.id]はルームルームのルームIDのリストを表示します。 –

+0

あなたのコードでは部屋名のみがall_roomsに割り当てられます。私がルームルームに持っている質問セットには、ルームシェアの名前とルームシェアのIDがあります。ちょうど名前 – xxxxxerwwrxx

関連する問題