好的,我在做测试。我想上传一些pdf文件。因此,我遵循formset教程
但似乎有一个错误即将来临
(1048, "Column 'book_id' cannot be null")
这是模型类。你知道吗
class Book(models.Model):
author = models.ForeignKey(Author)#, null=True, blank=True)
album_name = models.CharField(max_length=100)
created_on = models.DateTimeField(default=datetime.datetime.now)
class Book_File(models.Model):
filefile = models.FileField(upload_to=content_file_name)
book = models.ForeignKey(Book)#, null=True, blank=True)
模型是这样的
class BookForm(ModelForm):
class Meta:
model = Book_File
fields = ['filefile', 'book']
BookFormSet = inlineformset_factory(Book, Book_File, extra=3, can_delete=False)
book = Book.objects.get(book_name=u'New')
formset = AlbumFormSet(instance=book)
如果我按照django教程中的建议将图书id放入viewalbum中,则会出现错误
def viewalbum(request,book_id):
book = Book.objects.get(pk=book_id)
if request.method == 'POST':
formset = BookFormSet(request.POST, request.FILES, instance=book)
if formset.is_valid():
for data in formset.cleaned_data:
Book_File.objects.create(filefile=data['filefile'])
return HttpResponseRedirect(reverse('first.views.viewalbum'))
else:
formset = BookFormSet(instance=book)
return render_to_response('test.html',{'formset': formset})
告诉我我错过了什么?你知道吗
您正在将数据另存为
这里创建的是
Book_File
对象,但没有指定book
实例。你应该这样做或者干脆就这么做
相关问题 更多 >
编程相关推荐