Как получить значение sysdate из базы данных Oracle в Django

Как получить значение sysdate из базы данных Oracle с помощью django? Я попытался добавить двойной класс в моей модели, как показано ниже:

class Dual(models.Model):
dummy = models.CharField(max_length=1, null=True, blank=True)
sysdate = models.DateField(blank=True, null=True)
class Meta:
    managed = False
    db_table = 'dual'

Попытка доступа к sysdate:

sysdate = Dual.objects.only('sysdate')

но это приводит к ошибке ниже:

Ошибка базы данных: ORA-00904: "ДВОЙНОЙ"."SYSDATE": неверный идентификатор

Я делаю что-то не так? Пожалуйста, помогите мне здесь. заранее спасибо

2 ответа

Решение

Вы можете извлечь строки из оператора select с помощью итератора курсора. Особенно вы знаете, что ваш запрос get sysdate вернет ровно одну строку, поэтому вы можете использовать метод fetchone().

views.py

from django.db import connection

def get_sysdate(request):
    cursor = connection.cursor()

    sql = cursor.execute("select to_char(sysdate,'dd.mm.yyyy hh24:mi:ss') from dual")
    result = cursor.fetchone()

   return render(request, 'sysdate.html', {
        'result' : result,
    })

sysdate.html

{{ result }}

Вы можете найти соответствующую информацию по ссылке ниже. cx_Oracle - Fetch

Для доступа к функции SQL вы можете выполнить собственный запрос напрямую - см. Документацию.

Другие вопросы по тегам