Ограничение, запрещающее NaN в числовых столбцах Postgres с использованием Django ORM.Python

Программы на Python
Ответить
Anonymous
 Ограничение, запрещающее NaN в числовых столбцах Postgres с использованием Django ORM.

Сообщение Anonymous »

Postgresql допускает значения NaN в числовых столбцах в соответствии с документацией здесь.
При определении таблиц Postgres с использованием Django ORM используется DecimalField. переведен в числовой столбец в Postgres. Даже если вы определите столбец, как показано ниже:

Код: Выделить всё

from django.db import models

# You can insert NaN to this column without any issue
numeric_field = models.DecimalField(max_digits=32, decimal_places=8, blank=False, null=False)
Есть ли способ использовать синтаксис Python/Django, чтобы запретить значения NaN в этом сценарии? Собственное решение Postgres, вероятно, заключается в использовании какого-то ограничения. Но возможно ли это с использованием синтаксиса Django?
Изменить: как отметил willeM_ Ван Онсем, Django не позволяет вставлять NaN в DecimalField изначально . Однако БД также управляется из других источников, поэтому необходимо иметь дополнительное ограничение на уровне БД (в отличие от встроенного ограничения уровня приложения Django).

Подробнее здесь: https://stackoverflow.com/questions/792 ... django-orm
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»