জ্যাঙ্গো প্রশ্নগুলি: তালিকায় থাকা আইডি বাদ দিতে কীভাবে বস্তুগুলি ফিল্টার করবেন?


89

ফলাফলটি তালিকার সাথে সম্পর্কিত আইডি সহ যে কোনও অবজেক্টের উদাহরণগুলি বাদ দেয় তাই কীভাবে আমি কোনও ক্যোয়ারীতে ফিল্টার করব?

বলি আমার কাছে আছে:

object_id_list = [1, 5, 345]

MyObject.objects.filter(Q(time__gte=datetime.now()) & Q( ... what to put here? ... ))

এর স্টাইলে কিছু "SELECT * FROM ... WHERE id NOT IN (...)"

উত্তর:


176
MyObject.objects.filter(time__gte=datetime.now()).exclude(id__in=object_id_list)

4
নাম কি MyObject.objects? আমি এই ক্লাস সম্পর্কে কোথায় পড়তে পারি?
সার্জ

@ সার্জ মাইওবজেক্টটি আপনার জাজানো মডেল শ্রেণীর সাথে সম্পর্কিত হতে পারে তা যাই হোক না কেন। সুতরাং উদাহরণস্বরূপ আপনার যদি ইউজারপ্রোফাইল মডেল সেটআপ থাকে তবে আপনার ব্যবহারকারীর প্রোফাই.ওবজেক্ট থাকতে পারে।
কোডগুই

আপনাকে ধন্যবাদ, কিন্তু আমি ঠিক জিজ্ঞাসা করছি .objects। এটা কি?
সার্জ

18

আপনি Qবস্তুটি ব্যবহার করে এটি করতে পারেন :

from django.db.models import Q

MyObject.objects.filter(time__gte=datetime.now()).filter(~Q(id__in=object_id_list))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.