Как обойти ошибку django: необработанный запрос должен включать первичный ключ

Есть ли способ выполнить запрос на Django без использования первичного ключа таблицы?

В следующем коде у меня есть запрос, который, по крайней мере, я думаю, должен использоваться только с

SELECT DISTINCT p.type

без добавления первичного ключа таблицы - в данном случае PK является NAME.

Каждый раз, когда я запускаю код, я получаю одну и ту же ошибку -

raw запрос должен включать первичный ключ

есть ли способ обойти это?

Код:

def Query_result(request):
    AttackThreshold_res = request.POST.get('AttackThreshold')
    PokemonCount_res = request.POST.get('PokemonCount')

    sql_threshold_res = Pokemons.objects.raw("""
                SELECT DISTINCT p.type
                FROM   pokemons p
                INTERSECT
                SELECT DISTINCT p1.type
                FROM   pokemons p1
                WHERE  p1.attack >  %s
                INTERSECT
                SELECT DISTINCT p2.type
                FROM   pokemons p2
                GROUP  BY ( p2.type )
                HAVING Count(p2.type) > %s
    """, [AttackThreshold_res, PokemonCount_res])
    return render(request, 'queries.html', {'sql_threshold': sql_threshold_res}) 
Вернуться на верх