Создание объекта модели с полем ManyToMany в django
Есть две модели в models.py:
class Post(models.Model):
title = models.CharField('Заголовок', max_length=50)
desc = models.TextField('Описание')
class Author(models.Model):
name = models.CharField('Автор', max_length=50)
post = models.ManyToManyField(Post, verbose_name='Пост')
Объекты модели Post создаются без проблем, и в базе они есть. В admin.py пытаюсь создать модель Author:
class AuthorAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj = Author.objects.create(name=request.POST['name']) # Ошибка в этой строке
obj.post.add(request.POST['post'])
obj.save()
Ошибка: NOT NULL constraint failed: author_author.post_id.
Я понимаю, что он не может создать объект Author, так как для поля ManyToMany нужен id этого объекта. Но у меня его просто создать не получается.
Также делала obj.name = request.POST['name']; obj.save(), результат тот же.
Ответы (1 шт):
Автор решения: 5c0rp
→ Ссылка
class Author(models.Model):
name = models.CharField('Автор', max_length=50)
post = models.ManyToManyField(Post, verbose_name='Пост', null=True, blank=True)