Django contenttypes, Generic Foreign key

делаю систему лайков для условного Хабра. Поскольку лайкаем: статьи, авторов и посты, решил делать все на основе сontenttypes и Generic Foreign key. Вопрос: Код вьюхи??? которая должна быть вроде универсальной. Получить id объекта и юзера из реквеста - проблем нет. А вот как получить модель или content type объекта и создать объект LikedItem() (запись в таблицу) - вопрос. Заранее благодарю за помощь.

Модель лайков и кнопка like в шаблоне конкретной статьи:

class LikedItem(models.Model):
           user = models.ForeignKey(BaseUser, on_delete=models.CASCADE)
           content_type = models.ForeignKey(ContentType,  on_delete=models.CASCADE)
           object_id = models.PositiveIntegerField()
           content_object = GenericForeignKey()
   

<form action="{% url 'main:like_item' article.pk %}" method="POST">
            {% csrf_token %}
            <button type="submit", name="article.id",
             value="{{ article.id  }}" >Like</button>
             </form>
Вернуться на верх