bugfix: IndexError when _allowed is an empty tuple

Bugfix: when using a OneToMany/ManyToOne relation, we must handle when _allowed is the empty tuple.

Not sure this is the right way to fix it, but it seems reasonable.

Btw, thanks for the 3.3 port, I was doing one myself, but yours is a much better way.