Django IntegrityError; NOTNULL制約が失敗しました

アフザルSH

モデルのインスタンスを保存しようとしていますが、役に立ちません。

以下は私のモデルです。

class AudioFile(models.Model):
    name = models.CharField(max_length=100,default='')
    audio_file = models.FileField()
    uploader = models.ForeignKey(User,default='')

    def __unicode__(self):
        return self.name    

私は以下のフォームを持っています。

class AudioFileForm(forms.ModelForm):
    class Meta:
        model = AudioFile
        fields = ['name', 'audio_file']

    def clean_audio_file(self):
        audio = self.cleaned_data['audio_file']
        if audio:
            if audio._size > 5*1024*1024:
                raise ValidationError("File too large ( > 5mb )")
            if os.path.splitext(audio.name)[1] != ".mp3":
                raise ValidationError("We only support mp3!")
            return audio
        else:
            raise validationError("Couldn't read uploaded file")

そして、私は提出されたフォームを処理するために以下の見解を持っています。

form = AudioFileForm(request.POST, request.FILES)
    if form.is_valid():
        form.cleaned_data['uploader'] = request.user //view requires login
        form.save()
        return HttpResponseRedirect(
            reverse('home_audio',kwargs={'pk':audio_file.pk})
            )
    else:
        return HttpResponse(form.errors)

しかし、送信するとエラーが発生します。IntegrityError at /uploadaudio NOT NULL constraint failed: stationrunner_audiofile.uploader_id /uploadaudioビューに対応するURLでstationrunnerあり、私のアプリの名前です。

誰か助けてください。

セバスチャン・ウォズニー

ビューを変更してみてください:

form = AudioFileForm(request.POST, request.FILES)
if form.is_valid():
    audio_file = form.save(commit=False) // This will not hit the database, and no IntegrityError will be raised
    audio_file.uploader = request.user  // Tack on the user, 
    audio_file.save()
    return HttpResponseRedirect(
        reverse_lazy('home_audio',kwargs={'pk':audio_file.pk}) // Use reverse lazy to prevent circular import issues.
    )
else:
    return HttpResponse(form.errors)

また、モデルに関するいくつかの問題を修正することもできます。

from django.conf import settings
from django.db import models

class AudioFile(models.Model):
    name = models.CharField(max_length=100) // If the field is not allowed to be blank, the default blank does not make sense.
    audio_file = models.FileField(upload_to="audio_files") // Without this parameter file field does not work.
    uploader = models.ForeignKey(settings.AUTH_USER_MODEL) // This should reference the user model declared in your settings file.

    def __unicode__(self):
        return self.name   

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

django.db.utils.IntegrityError:NOTNULL制約が失敗しました

Createsuperuser django.db.utils.IntegrityError:NOTNULL制約に失敗しました

Django 2.0:sqlite IntegrityError:FOREIGN KEY制約が失敗しました

DjangoモデルIntegrityError:NOT NULL制約が失敗しました:

django.db.utils.IntegrityError:FOREIGNKEY制約が失敗しました

Django IntegrityError NOT NULL制約が失敗しました:accounts_solution.puzzle_id

Django IntegrityError-NOT NULL制約が失敗しました:learning_logs_topic.owner_id

Django IntegrityError-NOT NULL制約が失敗しました:portfolio_myportfolio.holder_id

Django、IntegrityError、NOT NULL制約が失敗しました:ask_response.postinfo_id

IntegrityError NOTNULL制約が失敗しました

IntegrityError、NOTNULL制約が失敗しました

sqlalchemy.exc.IntegrityError:(sqlite3.IntegrityError)NOTNULL制約が失敗しました

django.db.utils.IntegrityErrorが発生します:コマンドでFOREIGNKEY制約が失敗しました

django.db.utils.IntegrityError:UNIQUE制約に失敗しました:mode_setting.user_id

django.db.utils.IntegrityError:UNIQUE制約に失敗しました:auctions_bids.item_id

django.db.utils.IntegrityError:NOT NULL制約に失敗しました:app_user.zip

django.db.utils.IntegrityError:UNIQUE制約に失敗しました:rango_category__new.slug

django.db.utils.IntegrityError:NOT NULL制約に失敗しました:app.area_id

django.db.utils.IntegrityError:NOT NULL制約に失敗しました:polls_article.reporter_id

django.db.utils.IntegrityError:NOT NULL制約に失敗しました:users_profile.user_id

django.db.utils.IntegrityError:NOT NULL制約に失敗しました:appname_modelName.id

django.db.utils.IntegrityError:NOT NULL制約に失敗しました:main_profile.name

IntegrityError NOT NULL制約が失敗しました:djangoを介してフォームを送信してください

django.db.utils.IntegrityError: NOT NULL 制約が失敗しました: app_users.key_value_id

IntegrityError:UNIQUE制約が失敗しました:djangoテストケースのroomer_room.id

django.db.utils.IntegrityError: NOT NULL 制約が失敗しました: app_users.key_value_id

Django REST Framework NOTNULL制約が失敗しました

Django tests.py django.db.utils.IntegrityError:UNIQUE制約に失敗しました:auth_user.username

Djangoスローエラーdjango.db.utils.IntegrityError:UNIQUE制約に失敗しました:mediaSort_userdata.user_id

TOP 一覧

  1. 1

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  2. 2

    ソートされた検索、ターゲット値未満の数をカウント

  3. 3

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  4. 4

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  5. 5

    Ansibleで複数行のシェルスクリプトを実行する方法

  6. 6

    Reactでclsxを使用する方法

  7. 7

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  8. 8

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  9. 9

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  10. 10

    PowerShellの分割ファイルへのヘッダーの追加

  11. 11

    Chromeウェブアプリのウェブビューの高さの問題

  12. 12

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  13. 13

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  14. 14

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  15. 15

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  16. 16

    MLでのデータ前処理の背後にある直感

  17. 17

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  18. 18

    reCAPTCHA-エラーコード:ユーザーの応答を検証するときの「missing-input-response」、「missing-input-secret」(POSTの詳細がない)

  19. 19

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  20. 20

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  21. 21

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

ホットタグ

アーカイブ