Первичная миграция существующего приложения на Django
У меня есть приложение, в котором все работает на локальной dev-машине, и я пытаюсь установить его на другой dev-машине со свежей БД (Postgres).
Я не смог запустить миграции из-за ошибки cannot find field, поэтому я удалил все миграции и попытался сделать их снова, но та же ошибка.
django.db.utils.ProgrammingError: relation "questionnaire_projectquestionanswerchoice" does not exist
LINE 1: ...rojectquestionanswerchoice"."id") AS "count" FROM "questionn...
Похоже, что makemigrations проверяет код на наличие проблем перед тем, как сделать их, и, очевидно, он не находит их и всегда выдает ошибку. Виновник находится ниже, и комментирование, а затем выполнение миграций работает, но это немного халтура, так что если мне когда-нибудь понадобится сделать это снова, я должен буду следовать тому же процессу. Я оставил виновника закомментированным ниже. Этот код работает, но после него нужно убрать комментарий.
Есть ли официальный способ справиться с этим?
class ProjectQuestionMostUsedAnswerChoiceViewset(viewsets.ModelViewSet):
# dupes = (
# models.ProjectQuestionAnswerChoice.objects.values("name")
# .annotate(count=Count("id"))
# .order_by("-count")
# .filter(count__gt=0)[:10]
# )
# queryset = (
# models.ProjectQuestionAnswerChoice.objects.filter(
# name__in=[item["name"] for item in dupes]
# )
# .distinct("name")
# .order_by("name")
# )
queryset = models.ProjectQuestionAnswerChoice.objects.all()
serializer_class = serializers.ProjectQuestionAnswerChoiceSerializer
filter_backends = (
filters.QueryParameterValidationFilter,
django_filters.DjangoFilterBackend,
)
filterset_fields = {
"id": ("exact",),
}