Я знаю, как создать фильтры и объекты Q в django, но я не знаю, как инвертировать операторы, которые обеспечивает API, например, для содержит оператор, я хотел бы что-то как notcontains.
например.
q=Q(name__notcontains="SomeString")
Это получило бы меня все объекты, имя которых не содержат "SomeString".
Есть ли некоторый синтаксис, который я пропускаю?
Слова благодарности.
Вы можете использовать exclude()
вместо filter()
:
Entry.objects.exclude(name__contains="SomeString")
("дайте мне все записи ИСКЛЮЧИТЬ те, в которых имена
содержат "SomeString")
И когда вы имеете дело с объектом Q, вы можете использовать символ "~" перед объектом Q, чтобы представить отрицание. Например, следующее утверждение означает "дайте мне все записи с именами
, содержащие "Слон", но НЕ содержащие "SomeString":
Entry.objects.filter(Q(name__contains="Elephant") & ~Q(name__contains="SomeString"))
В некоторых случаях вы можете захотеть использовать оба метода:
Entry.objects.exclude(Q(name__contains="Elephant") & ~Q(name__contains="SomeString"))
("дайте мне все записи, ИСКЛЮЧАЙТЕ записи с именами
, содержащие "Слон", но НЕ содержащие "SomeString")
Сфера определяется любым набором из четырех некопланарных точек. Предполагая, что вы используете четырехстороннюю пирамиду для вашего усеченного тела, есть 70 возможных наборов из четырех точек. Попробуйте все 70 сфер и посмотрите, какая из них самая маленькая.
Учитывая, что ваша усеченная часть, вероятно, имеет некоторые симметрии, вы, вероятно, можете выбрать четыре точки на противоположных углах и использовать решение плинтуса.
-121--3126660-Я бы добавил div для очистки поплавков:
<div id="top div" style="width:400px;">
<div style="float:left;"><img src="images/xlab.jpg" width="100px" height="200px" /></div>
<div style="float:right;"><img src="images/ucbseal.jpg" width="100px" height="250px" /></div>
<div style="clear:both;"></div>
</div>
<div id="bottom div"><img src="images/xlab.jpg" width="200px" height="200px" /></div>
-121--3260466- Вот ссылка на API QueySet . исключить
, похоже, делает то, что вы хотите.
Либо используйте exclude
, как предлагает Хэнк, либо, для конкретного случая содержит
, используйте Q (name__regex = r '! (SomeString)'), если вам действительно нужно использовать фильтр
. Имейте в виду, что regex
не зависит от базы данных, сначала проверьте, какой синтаксис поддерживает ваша база данных.