Как добавить sql ограничение даты только из поля datetime odoo 10? - PullRequest
0 голосов
/ 11 июля 2020

Как добавить sql ограничение даты только из поля datetime

date = fields.Datetime ('Date', store = True, default = fields.Datetime.now,)

1 Ответ

0 голосов
/ 11 июля 2020

В этом случае вам не нужны ограничения sql. Лучшим вариантом является расширение поля и изменение его типа данных на Date:

class NewClass(models.Model):
    _inherit = "original.class"
    ...
    date = fields.Date('Date', store=True, default=fields.Date.today())

Если вы не хотите этого делать, используйте вместо этого декоратор ограничений над вашим полем:

@api.constrains('date')
def check_data_type(self):
    if not condition:
        raise ValidationError("Error!")

В любом случае, если вы все еще хотите добавить ограничения sql, вы можете использовать это в своей модели:

class YourClass(models.Model):
    _name = "your.class"
    ...
    _sql_constraints = [('date', 'CHECK (your check)', 'Data no pass the check')]

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...