[解決済み】DjangoのQuerySetをリストに変換する方法とは?
2022-02-22 06:02:39
質問
次のようなものがあります。
answers = Answer.objects.filter(id__in=[answer.id for answer in answer_set.answers.all()])
というのは、後で。
for i in range(len(answers)):
# iterate through all existing QuestionAnswer objects
for existing_question_answer in existing_question_answers:
# if an answer is already associated, remove it from the
# list of answers to save
if answers[i].id == existing_question_answer.answer.id:
answers.remove(answers[i]) # doesn't work
existing_question_answers.remove(existing_question_answer)
エラーが発生する
'QuerySet' object has no attribute 'remove'
QuerySetを標準的なセットやリストに変換するために、いろいろと試してみました。何もうまくいきません。
QuerySetからアイテムを削除して、データベースから削除せず、新しいQuerySetを返さないようにするにはどうすればよいですか(ループ内なので、うまくいきません)。
どのように解決するのですか?
こんなこともできるんですね。
import itertools
ids = set(existing_answer.answer.id for existing_answer in existing_question_answers)
answers = itertools.ifilter(lambda x: x.id not in ids, answers)
読む
クエリセットが評価されたとき
で、結果全体をメモリに読み込むのは良くないことに注意してください。
list()
).
更新情報 というコメントに関して。
いろいろなやり方があります。ひとつは(メモリと時間の点でおそらく最良のものではありませんが)、まったく同じことをすることです。
answer_ids = set(answer.id for answer in answers)
existing_question_answers = filter(lambda x: x.answer.id not in answers_id, existing_question_answers)
関連
-
[解決済み】Djangoのクエリセットフィルタリングでnot equalを行うにはどうすればよいですか?
-
[解決済み] Djangoのバージョンを確認する方法
-
[解決済み] QuerySetで空白またはNULLの名前をフィルタリングする方法は?
-
[解決済み] django のクエリセットで OR 条件を実行する方法は?
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
-
[解決済み】Django - クエリ結果を制限する
-
[解決済み】Django: モデルフィールドのリストを取得しますか?
-
[解決済み] djangoのテンプレートで文字列を連結する方法は?
-
[解決済み】Django Southでの後方移行について
-
[解決済み】reverse()とは何ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Django における cleaned_data の用途は?
-
[解決済み] "POSTMANを使った画像データの投稿"
-
django.core.exceptions.ImproperlyConfigured: MySQLdb モジュールの読み込みに失敗しました。
-
Pythonが表示される。TypeError: 期待される文字列またはバッファ
-
django upstream が up からの応答ヘッダを読み込む際に接続を早々に切断してしまう。
-
django 1.8 公式ドキュメントの翻訳です。13-3 ログ
-
Django REST Framework の post_create を使用する際のエラー django.db.utils.IntegrityError.Django.db.utils.IntegrityError.Django.db.utils.IntegrityError: UNIQUE 制約に失敗しました。
-
[解決済み] Djangoにおける{% %}と{{ }}について
-
[解決済み】Django - クエリ結果を制限する
-
[解決済み】Djangoのテンプレートにコメントを入れる方法