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>