@vadiculus

Ошибка Обязательное поле. taggit Django?

У меня есть модель Audio:
class Project(models.Model):
    title = models.CharField(max_length=50, verbose_name='Название')
    slug = models.SlugField(verbose_name='Slug')
    content = models.TextField(verbose_name='Контент')
    image = models.ImageField(null=True, blank=True,upload_to='images/%Y/%m/%d', verbose_name='Изображение')
    rubric = models.ForeignKey('Rubric', null=True, on_delete=models.PROTECT, verbose_name='Рубрика')
    author = models.ForeignKey('accounts.User', on_delete=models.CASCADE)
    tags = TaggableManager()
    updated = models.DateTimeField(auto_now=True)
    created = models.DateTimeField(auto_now_add=True)

    def __init__(self, *args, **kwargs):
        super(Project, self).__init__(*args, **kwargs)
        self.model_type = None

    def __str__(self):
        return self.title

class Audio(Project):
    file = models.FileField(upload_to='audio/%Y/%m/%d', verbose_name='Аудио Файл')

    class Meta:
        verbose_name = 'Аудио'
        verbose_name_plural = 'Аудио'
        ordering = ['created']


И я сделал форму для её добавления:
class AudioForm(forms.ModelForm):
    class Meta:
        model = Audio
        exclude = ['slug', 'author']


И у меня есть конструктор для добавления
class AddAudioView(CreateView):
    template_name = 'posts/create-project.html'
    form_class = AudioForm

    def post(self, request, *args, **kwargs):
        self.request = request
        return super().post(request, *args, **kwargs)

    def form_valid(self, form):
        form.cleaned_data['author'] = self.request.user
        form.cleaned_data['slug'] = form.cleaned_data['title']
        print(form.cleaned_data['tags'])
        return super().form_valid(form)


И когда я ввожу полную форму у меня выскакивает ошибка в поле tags
Ошибка пишет "Обязательное поле."

636fc514f2fa1200594613.png
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
@gagtainn
Так как вы не выбрали Audio файл
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы