2016-07-12 3 views
1

は、私はこのエラーを取得する移行時のエラー1146を回避するにはどうすればよいですか?</p> <blockquote> <p>django.db.utils.ProgrammingError: (1146, "Table 'dorogi_test.activities_category' doesn't exist")</p> </blockquote> <p>それは、このクエリによって提起されています:私は、新しいデータベースにはメイクの移行を試していない場合

移行前exicutes
models.Category.objects.filter(level=0, active=True).get_descendants(include_self=True) 

ので、それができませんテーブルは存在しません。

私は、次の操作を実行しようとした:

def get_top_news_category(): 
    if models.Category.objects.exists(): 
     return models.Category.objects.filter(level=0, active=True).get_descendants(include_self=True) 


@permission_classes((permissions.AllowAny,)) 
class TopNewsViewSet(mixins.ListModelMixin, viewsets.GenericViewSet): 
    serializer_class = ArticleSerializer 
    c = get_top_news_category() 
    queryset = models.Article.objects.filter(hot=True, category__in=c).order_by('-id')[:3] 

しかし、私のコードは、このチェックでクラッシュします。このエラーを回避するにはどうしたらいいですか?Djangoはコードにコメントすることなく移行を開始できますか?

答えて

1

ああ。それは簡単だった。関数にすべてをラップしました:

@permission_classes((permissions.AllowAny,)) 
class TopNewsViewSet(mixins.ListModelMixin, viewsets.GenericViewSet): 
    serializer_class = ArticleSerializer 

    def get_queryset(self): 
     c = models.Category.objects.filter(level=0, active=True).get_descendants(include_self=True) 
     return models.Article.objects.filter(hot=True, category__in=c).order_by('-id')[:3] 
関連する問題

 関連する問題