1

単純なモデルがあり、ModelForm を使用して保存したいと考えています。

コードは次のとおりです。

#models.py
class MyArchive(models.Model):
    archive_id = models.CharField(max_length = 20, primary_key=True)
    description = models.CharField(max_length = 50, blank = True)
    archive_file = models.FileField(upload_to = "my_archives/")

#views.py
class MyArchiveForm(ModelForm):
    class Meta:
        model = MyArchive
def upload(request):
    if request.method == 'POST':
        form = MyArchiveForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponse('uploaded success!')
        else:
            logger.debug("invalid form")
    return HttpResponse('upload fail!')

DB を同期し、作成されたテーブルを見ました。しかし、それが form.save に行くたびに、

DatabaseError, no such table. 

ModelForm を使用して保存する方法は間違っていますか?

更新: この行を削除すると、さらに奇妙なことに、同じエラーform.save()で失敗しますが、django をデバッグ モードで実行すると正常に動作します。if form.is_valid()no such tableif form.is_valid()

4

1 に答える 1