2015-09-29 4 views
0

Я использую Django последние 2 года без каких-либо проблем, я не новобранец.Django objects.all() пустой набор запросов, а не пустой в оболочке

Недавно я создал новый атрибут для модели и добавил его в базу данных mysql.

Всякий раз, когда я отфильтровываю объекты, используя этот атрибут, в моем представлении «views.py», я получаю пустой набор, всякий раз, когда я использую одну и ту же точную строку кода с помощью «manage.py shell», он возвращает ожидаемый запрос.

Я попытался перезапустить службу httpd, службу mysqld, и я перезагрузил систему, но ничего не происходит.

Кто-нибудь знает, как обойти эту проблему?

Вот код, который я использовал для отладки этой проблемы:

Shell: Это не позволит мне размещать фотографии так вот код:

>>>Session.objects.filter(cancellation_session=True) 
>>>[<Session: Zumba Toning (Ladies)>] 

views.py:

def gym_day2(request): 
    return HttpResponse(str(Session.objects.filter(cancellation_session=True))) 

HttpResponse:

[] 

Пожалуйста, помогите!

+0

Какую версию Django вы используете? – Alasdair

ответ

1

добавить. значения или .values_list() после утверждения, Session.objects.filter (cancelation_session = True) .values ​​('field ')

+1

Это сработало, но мне нужно логическое объяснение здесь. Потому что иначе я переключаю карьеру. – Bit68

+0

при использовании ORM и хотите получить значение фильтра, необходимо добавить values_list() или values ​​(), но в обоих случаях вы заработали правильный запрос, например, вы можете использовать «session = Session.objects.filter (cancelation_session = True) «как экземпляр другого запроса» otro_query = sub_session.objects.filter (idsession = session) », и он работает – Jmint

Смежные вопросы