Hi
You may do like this
def action_view_purchase_order(self):
    for rec in self:
        your_so_related_purchase_orders = []
            if len(your_so_related_purchase_orders) > 1:
                return {
                    'name': 'Purchase Order',
                    'view_type': 'form',
                    'view_mode': 'tree,form',
                    'res_model': 'purchase.order',
                    'view_id': False,
                    'type': 'ir.actions.act_window',
                    'domain': [('id', 'in', your_so_related_purchase_orders)],
                    
                }
            if len(your_so_related_purchase_orders) == 1:
                return {
                    'name': 'Purchase Order',
                    'view_type': 'form',
                    'view_mode': 'form',
                    'res_model': 'purchase.order',
                    'view_id': False,
                    'type': 'ir.actions.act_window',
                    'res_id': your_so_related_purchase_orders[0],
                }
@api.depends('your_field')
def _compute_count(self):
for record in self:
     record.purchase_order_count = len(your_so_related_purchase_orders)
<button name="action_view_purchase_order" type="object" class="oe_stat_button"
        icon="fa-pencil-square-o" attrs="{'invisible': [('purchase_order_count', '=', 0)]}">
    <field name="purchase_order_count" widget="statinfo" string="Purchase Order"/>
</button>
Hope This will help you
Thanks