Обычно вы должны добавить:
Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
Однако для общего хостинга GoDaddy (php-cgi) вам необходимо добавить также следующие строки:
AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
Источник: Анализ HTML как PHP Использование файла HTACCESS на Godaddy .
Возможно, Q-объекты могут помочь в решении этой проблемы. Я никогда их не использовал, но кажется, что их можно отрицать и комбинировать, как обычные выражения Python.
Обновление: Я только что попробовал, похоже, работает очень хорошо:
>>> from myapp.models import Entry
>>> from django.db.models import Q
>>> Entry.objects.filter(~Q(id = 3))
[<Entry: Entry object>, <Entry: Entry object>, <Entry: Entry object>, ...]
Последний бит кода исключит все объекты где x! =5 и Верного. Попробуйте это:
results = Model.objects.filter(a=False, x=5)
Помните, = входят в систему, вышеупомянутая строка присваивает Ложь параметру a и номер 5 к параметру x. Это не проверяет на равенство. Таким образом нет действительно никакого способа использовать! = символ в вызове запроса.
Это даст Ваш желаемый результат.
from django.db.models import Q
results = Model.objects.exclude(Q(a=True) & ~Q(x=5))
для не равняются , можно использовать ~
на равном запросе. очевидно, Q
может использоваться для достижения равного запроса.
синтаксис field = value
в запросах является сокращением для field__exact = value
. То есть Django помещает операторы запроса в поля запроса в идентификаторах . Django поддерживает следующие операторы:
exact
iexact
contains
icontains
in
gt
gte
lt
lte
startswith
istartswith
endswith
iendswith
range
year
month
day
week_day
isnull
search
regex
iregex
Я уверен, объединив их с объектами Q, как Дэйв Фогт предлагает , и используя filter ()
или exclude ()
] как Джейсон Бейкер предлагает , вы получите именно то, что вам нужно, практически для любого возможного запроса.