Как создать комментарий, который автоматически связан с моделью - PullRequest
0 голосов
/ 08 марта 2020

Мне нужно установить комментарий, который автоматически связан с моделью товара при его создании

article list

article comment

article list

comment model

модели:

class Article(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=50)
    text = models.TextField()
    date = models.DateTimeField(default=timezone.now)

def __str__(self):
    return self.title


class Comment(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    article = models.ForeignKey(Article, on_delete=models.CASCADE, null=True)
    text = models.TextField()
    date = models.DateTimeField(default=timezone.now)

def __str__(self):
    return self.text

просмотров:

class ArticleCommentCreateView(LoginRequiredMixin, generic.CreateView):
    model = Comment
    template_name = 'blog/create_comment.html'
    fields = ['text']
    ordering = ['-date']
    success_url = reverse_lazy('article')

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

шаблоны article_list:

{% extends 'blog/base.html' %}

    {% block content %}
      {% for article in articles %}
        <div class="mt-3 card">
          <div class="card-header">
            <span class="font-weight-bold">{{ article.title }}</span> &middot;
            <span class="text-muted">by {{ article.user }} | {{ article.date|date:"j F, Y" }}</span>
          </div>
          <div class="card-body">
            <p>{{ article.text }}</p>
            {% if article.user == request.user %}
              <a href="{% url 'comment-article' article.id %}">Comment</a> |
              <a href="{% url 'update-article' article.id %}">Edit</a> |
              <a href="{% url 'delete-article' article.id %}">Delete</a>
            {% endif %}
          </div>
          <div class="card-footer">
            {% for comment in article.comment_set.all %}
              <p>
                <span class="font-weight-bold">&middot;</span>
                {{ comment }}
              </p>
            {% endfor %}
          </div>
        </div>
        <br />
      {% endfor %}
    {% endblock %}

Lorem ipsum dolor sit amet, Концертёр по адептизингу элит. Possimus Non Dolorem Corptint, Ipsum Magni, Volptas (нужно добавить больше текста ...)

...