2つのフォーム(2つのモデル)を作成してそのビューを処理しようとしていたときに、このエラーが発生しました。私のSongFormは、AlbumFormがデータを完全に保存している間は、そのデータをデータベースに保存していません。djangoエラー:NOT NULL制約に失敗しました
views.py-
def formm(request):
if request.method=='POST':
songform = SongForm(request.POST)
albumform=AlbumForm(request.POST)
if songform.is_valid() and albumform.is_valid():
songform.save()
albumform=albumform.save(commit=False)
albumform.date=timezone.now()
albumform.save()
return redirect("result")
forms.py-
from django import forms
from . models import Album,Song
class SongForm(forms.ModelForm):
class Meta:
model=Song
fields=('song_title','genre')
class AlbumForm(forms.ModelForm):
class Meta:
model=Album
fields=('album_title',)
models.py-
from __future__ import unicode_literals
from django.db import models
class Album(models.Model):
album_title=models.CharField(max_length=50)
date=models.DateTimeField(blank=True,null=True)
def __str__(self):
return self.album_title
class Song(models.Model):
song_title=models.CharField(max_length=50)
genre=models.CharField(max_length=50)
album=models.ForeignKey(Album,on_delete=models.CASCADE)
def __str__(self):
return self.song_title
formmpage.html-
{% extends "musicapp/basepage.html" %}
{% block content %}
<form method="POST" class="post-form">
{% csrf_token %}
{{ songform.as_p }}
{{ albumform.as_p }}
<button type="submit" class="btn btn-info">POST</button>
</form>
{% endblock %}
実際に私が間違っているところで私を修正してください。私はそれが私のviews.pyにあると思います。
同じ質問を2回転記しないでください。複数のアカウントを作成しないでください。 –