জ্যাঞ্জো - বহুস্তরের উপর ক্যোয়ারী ফিল্টার খালি is


96

জ্যাঙ্গোতে অনেকগুলি ক্ষেত্র খালি বা শূন্য থাকায় ফিল্টার করার উপায় রয়েছে।

class TestModel(models.Model):
    name = models.CharField(_('set name'), max_length=200)
    manytomany = models.ManyToManyField('AnotherModel', blank=True, null=True)

print TestModel.objects.filter(manytomany__is_null=True)

উত্তর:


152
print TestModel.objects.filter(manytomany=None)

43
এবং বিপরীতটি দিয়ে সম্ভবTestModel.objects.exclude(manytomany=None)
অ্যালেক্স এল

'আনলমোডেল'-এ সম্পর্কযুক্ত / অপ্রচলিত বস্তুগুলির কোয়েরি করার কোনও উপায় আছে কি? অনেকগুলি থেকে অনেকগুলি মডেলকে পরিষ্কার করার চেষ্টা করা হচ্ছে।
বোজডোজ

4
AnotherModel.objects.filter(testmodel_set=None)আমার জন্য কাজ করে । আপনি যদি কোনও সম্পর্কিত নাম ব্যবহার করেন তবে অবশ্যই অবশ্যই এটির পরিবর্তে আপনার ব্যবহার করা উচিত।
ফিলিপ

6

@ বার্নহার্ড উত্তরে যুক্ত করা, Q()অবজেক্টটি ব্যবহার করে অন্যান্য সম্ভাব্য সমাধান অর্জন করা যেতে পারে ।

from django.db.models import Q

filters = Q(manytomany=None)

TestModel.objects.filter(filters)

আলোচনা:

filters = ~Q(manytomany=None)

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