Должно иметь значение для поля "id", прежде чем это отношение "многие-ко-многим" может быть использовано

У меня такая ошибка (необходимо иметь значение для поля "id", прежде чем можно будет использовать это отношение "многие-ко-многим"). Я не знаю, как ее исправить. Я использую отношение "многие-ко-многим" для поля coauthor, которое связано с CustomUser. Также у каждого соавтора есть профиль. Поэтому я хочу, чтобы я мог использовать соавтора по ссылке в шаблоне на профиль.

Models.py

class ArticleExample(models.Model):
    author = models.ForeignKey(
        "users.CustomUser", on_delete=models.SET_NULL, null=True
    )
    coauthor = models.ManyToManyField(
        get_user_model(), blank=True, related_name="coauthor")
    title = models.CharField(max_length=150)
    text = models.CharField(max_length=150)

views.py

class ArticleExampleCreateView(CreateView):
    form_class = ArticleExampleForm
    model = ArticleExample
    template_name = 'example/articlecreateveiw.html'

    def form_valid(self, form):
        form.instance.author = self.request.user
        return super(ArticleExampleCreateView, self).form_valid(form)

    def post(self, request, * args, **kwargs):
        form = self.get_form()
        if form.is_valid():
            obj = form.save(commit=False)
            obj.author = self.request.user
            obj.save()
            form.save_m2m()
            return redirect('/')
        return self.render_to_response({'form': form})

Также это мои модели пользовательского пользователя и профиля

class CustomUser(AbstractUser):
    date_birthday = models.DateTimeField(
        default=timezone.now, blank=True, null=True)

class Profile(models.Model):
    slug = models.SlugField(unique=True)
    user = models.OneToOneField(get_user_model(), on_delete=models.CASCADE)
    bio = models.TextField(null=False, blank=True)
Вернуться на верх