# Date comparison using Pyson

**URL:** <https://discuss.tryton.org/t/date-comparison-using-pyson/1200>\
**Category:** Developer\
**Created:** [February 28, 2019, 2:24pm UTC](https://discuss.tryton.org/t/date-comparison-using-pyson/1200 "2019-02-28T14:24:06Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![prak](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/prak/32/321_2.png) [@prak](https://discuss.tryton.org/u/prak)\
**Post date:** [February 28, 2019, 2:24pm UTC](https://discuss.tryton.org/t/date-comparison-using-pyson/1200/1 "2019-02-28T14:24:06Z")

</div>

At present, in pyson, only the integer and float values can be compared. If we write a pyson statement as -

```
'invisible': Or(~Eval('state').in_(['disclose', 'signed']), (Eval('date_signed_ratee') <= Date(delta_days=15)))

```

Following error is raised-

```
Traceback (most recent call last):
  File "./bin/trytond-admin", line 21, in <module>
    admin.run(options)
  File "/path/trytond/admin.py", line 54, in run
    activatedeps=options.activatedeps)
  File "/path/trytond/pool.py", line 160, in init
    lang=lang, activatedeps=activatedeps)
  File "/path/trytond/modules/ __init__.py", line 418, in load_modules
    _load_modules(update)
  File "/path/trytond/modules/ __init__.py", line 388, in _load_modules
    load_module_graph(graph, pool, update, lang)
  File "/path/trytond/modules/ __init__.py", line 201, in load_module_graph
    pool.setup(classes)
  File "/path/trytond/pool.py", line 234, in setup
    cls. __setup__ ()
  File "/path/lib/python3.6/site-packages/trytond_apar-5.0.0-py3.6.egg/trytond/modules/apar/apar.py", line 205, in __setup__
    ['disclose', 'signed']), (Eval('date_signed_ratee') <= Date(delta_days=15))),
  File "/path/trytond/pyson.py", line 73, in __le__
    return Less(self, other, True)
  File "/path/trytond/pyson.py", line 300, in __init__
    'statement must be an integer or a float'
AssertionError: statement must be an integer or a float

```

IMO, the **init** method of ‘Greater’ class in pyson should be able to compare the dates as well or am I doing something wrong here.

---

<div class="post-metadata">

**Author:** ![ced](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/ced/32/1237_2.png) [@ced](https://discuss.tryton.org/u/ced)\
**Post date:** [February 28, 2019, 2:51pm UTC](https://discuss.tryton.org/t/date-comparison-using-pyson/1200/2 "2019-02-28T14:51:01Z")

</div>

It is a feature request: [Suport Date, DateTime and Decimal fields in Greater/Less Pyson statement (#4879) · Issues · Tryton / Tryton · GitLab](https://bugs.tryton.org/issue4879)

---

<div class="post-metadata">

**Author:** ![prak](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/prak/32/321_2.png) [@prak](https://discuss.tryton.org/u/prak)\
**Post date:** [March 1, 2019, 10:29am UTC](https://discuss.tryton.org/t/date-comparison-using-pyson/1200/3 "2019-03-01T10:29:13Z")

</div>

Thanks @ced. Let me work on it and then I will submit my changes on it.
