Пытаюсь добавить статью. При выборе автора из списка выходит нижеприведенная ошибка. Я в choises поле authors формы я подставляю непосредственно обьекты сущности POST, однако получаю указанную ошибку...
Ошибка: Cannot assign "'Author object (1)'": "Post.author" must be a "Author" instance.
модели:
class Author(models.Model):
is_active = models.BooleanField(default=True)
user = models.OneToOneField(User, on_delete=models.CASCADE)
class Post(models.Model):
text = models.TextField(max_length=50 * 1000)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
def get_absolute_url(self):
return f'/{self.id}'
формы:
authors = list(map(lambda x: (x, x.user.username), Author.objects.all()))
cats = list(map(lambda x: (x.id, x.name), Category.objects.all()))
class PostAddForm(ModelForm):
author = ChoiceField(
label='авторы',
choices=authors,
widget=Select(attrs={
'placeholder': "выберите автора",
'class': "inp",
})
)
class Meta:
model = Post
fields = ['text', 'author']
Вьюха:
class PostAddView(CreateView):
template_name = 'post_add.html'
form_class = PostAddForm