Django (и DRF) "ContentType, соответствующий запросу, не существует" на неуправляемой модели

Я получаю ошибку ContentType matching query does not exist. на неуправляемой (managed = False) модели.

Я думал, что он будет просто брать данные из базы данных, поэтому я не уверен, почему он проверяет типы содержимого.

Мой план состоял в том, чтобы иметь приложение history, которое извлекает данные истории из таблиц, созданных библиотекой django-simple-history. Итак, у меня есть модель приложения (используя для примера приложение Poll):

class Poll(models.Model):
   question = models.CharField(max_length=200)
   pub_date = models.DateTimeField('date published', auto_now_add=True)
   history = HistoricalRecords()

Затем у меня есть историческая версия этой модели (из базы данных, созданной django-simple-history):

class HistoricalPoll(models.Model):
    id = models.BigIntegerField()
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField()
    history_id = models.AutoField(primary_key=True)
    history_date = models.DateTimeField()
    history_change_reason = models.CharField(max_length=100, blank=True, null=True)
    history_type = models.CharField(max_length=1)
    history_user = models.ForeignKey(settings.AUTH_USER_MODEL, models.DO_NOTHING, blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'polls_historicalpoll'

И сериализатор для модели истории:

class HistoricalPollSerializer(serializers.ModelSerializer):

    class Meta:
        model = HistoricalPoll
        fields = '__all__'

И набор представлений:

class HistoricalPollViewSet(viewsets.ModelViewSet):
    serializer_class = HistoricalPollSerializer
    permission_classes = [permissions.IsAuthenticated]
    queryset = HistoricalPoll.objects.all()

И URL:

router.register(r"history", HistoricalPollViewSet)

Но когда я обращаюсь к /history, я получаю только ошибку:

DoesNotExist at /history/
ContentType matching query does not exist.

Почему нельзя просто взять данные из базы данных?

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