Как получить значение 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 вы можете выполнить собственный запрос напрямую - см. Документацию.