Hi I'm trying to filter a model using domain like this
class TableOne(models.Model):
_name = "table.one"
date = fields.Datetime(string="Date", default=fields.Datetime.now)
class ReportOne(models.Model):
_name = "report.one"
date_from = fields.Date(string="From")
date_to = fields.Date(string="To")
def do_some_filtering(self, date_from, date_to):
table_one = self.env["table.one"]
domain = []
domain.append(("date", ">=", date_from ))
domain.append(("date", "<=", date_to ))
recs = table_one.search(domain) // zero results, even though the date_from / date_to range is inside the date spread
<record id="some_view_id" model="ir.ui.view">
<field name="name">some.view.name</field>
<field name="model">report.one</field>
<field name="arch" type="xml">
<form create="false">
<sheet>
<div class="container-fluid">
<div class="row">
<div class="col-md-6">
<group string="Date Range">
<field name="date_from" />
<field name="date_to" />
</group>
</div>
</div>
<div class="row">
<div class="col-md-12">
<button string="Create" type="object" name="do_some_filtering" />
</div>
</div>
</div>
</sheet>
</form>
</field>
</record>
I have tried using strptime
, strftime
no luck. How is datetime/date filtering done in Odoo?
I have included the view code. I am very sorry this is still not the complete code. I have to remove unnecessary codes that are not related to the issue. Because if I include all the code, it is going to be very long code sample. I feel it is enough to understand the issue. Please let me know if you still can not understand it.