Django не может разрешить поле при аннотировании
У меня следующая модель:
from django.db import models
from tvproject_api.models import TVUser
class Watched(models.Model):
tvuser = models.ForeignKey(TVUser, on_delete=models.CASCADE, related_name='watched_tvuser')
show_id = models.IntegerField()
season_id = models.IntegerField()
date_added = models.DateTimeField()
class Meta:
unique_together = [['tvuser', 'show_id', 'season_id']]
Я пытаюсь аннотировать модель TVUser с подсчетом этого, делая,
TVUser.objects.filter().annotate(watched_count=Count('watched_tvuser'))
Но это дает мне
django.core.exceptions.FieldError: Cannot resolve keyword 'watched_tvuser' into field.
Странно, но у меня есть еще одна модель, которая выглядит почти так же, как модель Watched
:
from django.db import models
from tvproject_api.models import TVUser
class Watchlist(models.Model):
tvuser = models.ForeignKey(TVUser, on_delete=models.CASCADE, related_name='watchlist_tvuser')
show_id = models.IntegerField()
season_id = models.IntegerField()
date_added = models.DateTimeField()
class Meta:
unique_together = [['tvuser', 'show_id', 'season_id']]
А это работает совершенно нормально:
TVUser.objects.filter().annotate(watched_count=Count('watchlist_tvuser'))
Не уверен, в чем здесь проблема. Я могу аннотировать множество различных полей, но не работает только поле для watched_tvuser
Оказалось, что я не экспортировал модель Watched из моего файла models/init.py