from django.apps.registry.Apps import get_model
def get_object_from_string(string):
    app_label, model_name, pk = string.split('.')
    model = get_model(app_label, model_name)
    return model.objects.get(pk=int(pk))
phone = get_object_from_string('cart.Phone.123')get_object_from_string получаете из строки экземпляры моделей продуктов.        post_save срабатывает после сохранения, и чтобы увидеть изменения нужно перечитать экземпляр модели из базы. Для обычных CRUD операций это не имеет особого значения.@receiver(post_save, sender=FingerPrint)
def update_calculated_fields(sender, instance, **kwargs):
    tlsh = instance.calculate_tlsh()
    instance.tlsh = tlsh
    sender.objects.filter(pk=instance.pk).update(tlsh=tlsh)Module — есть один модуль. Каждый экземпляр VendorModule — есть связь одного вендора с одним модулем. Например, у нас есть два вендора связанных с пятью модулями. Тогда в базе будет десять экземляров VendorModule.OneToOneField использовать ForeignKey. Поправил в ответе.        delete_question() тоже должна быть уникальной: delete_question_{{ i.id }}(). Вызов тоже поменяется: onclick="delete_question_{{ i.id }}"path('page/<int:pk>/delete/', views.ArticleDeleteView.as_view(), name='delete_page')<td>
  <form id="delete_form_{{ i.id }}" action="{% url 'delete_page' i.id %}" method="post">{% csrf_token %}</form>
  <a href="javascript:void()" onclick="delete_question">удалить</a>
 <script>
    function delete_question() {
      if (confirm("Вы уверены")) {
        document.getElementById('delete_form_{{ i.id }}').submit()
      }
   }
   </script>
</td>DetailView, ListView, CreateView, UpdateView, DeleteView и TemplateView.self.kwargs. Если мысленно переименовать его в self.url_kwargs, то всё станет интуитивно понятно. Смотрите, у вас в urls.py есть такой адрес:path('categories/<slug:category_slug>/', views.ProductView.as_view(), name='product_list_by_categories')<slug:category_slug> и попадает в словарь self.kwargs, как category_slug. То есть при запросе /categories/kolgotki/ в self.kwargs будет записан словарик {'category_slug': 'kolgotki'}.