Tastypie: Как я могу создать "абстрактный" класс ModelResource с классом Meta

Используя django-tastypie я хотел бы создать дочерний класс ModelResource для определения некоторых общих вещей, от которых будут наследоваться все мои другие классы ресурсов API. Например:

class MyModelResource(ModelResource):
    class Meta:
        authentication = SessionAuthentication()
        authorization = APIAuthorization()
        always_return_data = True

    # Some other common methods here


class UserResource(MyModelResource):
    class Meta(MyModelResource.Meta):
        queryset = User.objects.all()

Однако, если я сделаю это, я получу следующую ошибку:

django.core.exceptions.ImproperlyConfigured: ModelResource (MyModelResource) требует Meta.object_class или Meta.queryset

.

Поэтому я должен установить object_class или queryset в MyModelResource.Meta, хотя это своего рода "Абстрактный" класс.

Я могу установить abstract = True в MyModelResource.Meta, и это работает, пока я не забываю установить abstract = False в каждом из его дочерних классов.

Есть ли лучший способ сделать это?

Вернуться на верх