Since both models are defined in the `tests` package they both have the same `app_label` (`'tests'`).

Because the `test_pagination` module was loaded before the `test_pagination` one and Django cache model definition by `(app_label, model_name)` to work around double imports `test_filters.FilterableItem` was actually `test_pagination.FilterableItem`. You can verify this by printing `test_filters.FilterableItem.__module__`.

I hit this issue while attempting to define a base of `FilterableItem` to add the test cases for this bugfix by attempting to define `BaseFilterableItem` in `test_filters` and realizing `FilterableItem` was not a subclass of it due to the Django model definition cache behavior described above.

Since both the `test_filters` and the `test_pagination` model had the same definition I thought moving them to the `models` module would be a great way to solve this issue.

I don't mind keeping models separate if you prefer. We'll just have to rename `test_pagination.FilterableItem` to another name.