я получаю следующее integrityError при попытке реализовать приложение Джанго-Multiupload:продолжать получать integrityError при попытке реализовать Джанго-Multiupload
нулевого значения в колонке «POST_ID» нарушают не-нулевую ограничение ДЕТАЛИ: Failing строка содержит (9, post_images/1899987_718836594813781_835045800_n.jpg,, null, null, null).
Я пытаюсь разрешить моим пользователям загружать несколько изображений в сообщение. Я думаю, что я ошибаюсь в том, что он может быть спасен, прежде чем сможет получить идентификатор сообщения. В моих взглядах я изменил form_valid, который также может быть использован.
В идеале я хотел бы передать image_author и экземпляры проекта для каждого изображения, но для начала я положил их = null, чтобы выяснить, как передать только экземпляр сообщения на данный момент.
Im новый для кодирования & django, поэтому любая помощь в попытке его решить была бы очень признательна!
модели:
class ProjectPost(models.Model):
project = models.ForeignKey(UserProject)
title = models.CharField(max_length=100)
post_overview = models.CharField(max_length=1000)
date_created = models.DateTimeField(auto_now_add=True)
post_views = models.IntegerField(default=0)
post_likes = models.IntegerField(default=0)
post_author = models.ForeignKey(User, null=True)
class PostImages(models.Model):
post_picture = models.FileField(upload_to='post_images', blank=True)
post = models.ForeignKey(ProjectPost)
picture_description = models.CharField(max_length=100)
picture_author = models.ForeignKey(User, null=True)
project = models.ForeignKey(UserProject, null=True)
формы
class ProjectPostForm(forms.ModelForm):
class Meta:
model = ProjectPost
fields = ('title', 'post_overview')
files = MultiFileField(min_num=1, max_num=20, max_file_size=1024*1024*5)
def save(self, commit=True):
instance = super(ProjectPostForm, self).save(commit)
for each in self.cleaned_data['files']:
PostImages.objects.create(post_picture=each, post=instance)
return instance
просмотров
class NewPost(CreateView):
model = ProjectPost
form_class = ProjectPostForm
template_name = 'howdidu/new_post.html'
def form_valid(self, form):
self.object = form.save(commit=False)
project = UserProject.objects.get(slug=self.kwargs["slug"])
self.object.project = project
form.instance.post_author = self.request.user
self.object.save()
return super(NewPost, self).form_valid(form)
def get_success_url(self):
project_username = self.request.user.username
project_slug = self.object.project.slug
return reverse('user_project', kwargs={'username':project_username, 'slug': project_slug})