Привет.
Вновь сел за джанго, делаю небольшой, собственный проект.
Возникла проблема с добавлением нескольких изображений к посту. Когда пытаюсь произвести миграцию, добавлял к модели кусок
PostsImages уже после основной, то вываливается ошибка
django.core.exceptions.FieldError: Unknown field(s) (images) specified for Posts
Модель
from django.db import models
from datetime import datetime
from django.contrib.auth.models import User
# Create your models here.
def upload_path_autor(instance, filename):
return 'posts_images/{0}/{1}'.format(instance.author, filename)
# def upload_path(instance, filename):
# return str(upload_path_autor)+'{0}/{1}'.format(instance.id, filename)
# return str(instance.get_upload_path.format(instance.id,filename)
class Posts(models.Model):
author = models.ForeignKey(User)
title = models.CharField(max_length=150)
description = models.TextField()
image = models.ImageField(upload_to=upload_path_autor, blank=True)
date = models.DateField(default=datetime.now)
# author = models.OneToOneField(User, on_delete=models.CASCADE)
class Meta:
verbose_name = 'Пост'
verbose_name_plural = 'Пост'
def __str__(self):
return self.title
class PostsImages(models.Model):
images = models.ImageField(upload_to=upload_path_autor, blank=True)
post = models.ForeignKey(Posts, related_name='PostsImages')
Форма
from django import forms
from .models import Posts
from .models import PostsImages
class PostForm(forms.ModelForm):
class Meta:
model = Posts
fields = [
'title',
'image',
'description',
'images',
]
widgets = {
'title': forms.TextInput(attrs={'placeholder':'Заголовок','class':'form-control'}),
'image': forms.FileInput(attrs={'class':'form-control'}),
'description': forms.Textarea(attrs={'placeholder':'Сообщение','class':'form-control'}),
'images': forms.FileInput(attrs={'class':'form-control','multiple': 'multiple'}),
}
labels = {
'title': 'Заголовок',
'image': 'Основное изображение',
'description': 'Сообщение',
'images': 'Фотографии',
}