django - фильтр запросов на мантоманы пуст

В Django есть способ фильтрации множества полей, которые являются пустыми или нулевыми.

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)
69 голосов | спросил John 15 12010vEurope/Moscow11bEurope/MoscowMon, 15 Nov 2010 15:58:41 +0300 2010, 15:58:41

2 ответа


0
print TestModel.objects.filter(manytomany=None)
ответил Bernhard Vallant 15 12010vEurope/Moscow11bEurope/MoscowMon, 15 Nov 2010 16:04:18 +0300 2010, 16:04:18
0

Добавляя к ответу @Bernhard, можно найти другое возможное решение, используя объект Q().

from django.db.models import Q

filters = Q(manytomany=None)

TestModel.objects.filter(filters)

Отрицание:

filters = ~Q(manytomany=None)

TestModel.objects.filter(filters)
ответил Omkar Deshpande 7 Jam1000000amMon, 07 Jan 2019 10:24:07 +030019 2019, 10:24:07

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132