Отношение внешнего ключа Django views.py и шаблон html

#python #django #django-models

#python #django #django-модели

Вопрос:

У меня есть 3 таблицы, связанные для перечисления продукта с функциями, я хочу перечислить значения FeatureItem с помощью цикла for в файле html шаблона. Я пытался написать класс view, но у меня не получилось. Любое предложение, какой подход для views.py и template.html файл был бы лучшим решением? Спасибо.

 class Item(models.Model):
    title = models.CharField(max_length=100)
    price = models.FloatField()
    slug = models.SlugField()
    category = models.ForeignKey(Category,  on_delete=models.CASCADE)
    feature = models.ForeignKey(Feature, on_delete=models.CASCADE)

class FeatureItem(models.Model):
    feature_title = models.CharField(max_length=100)
    feature_description = models.CharField(max_length=100)
    feature_id = models.ForeignKey(Feature, on_delete=models.CASCADE)

class Feature(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField()
  

Ответ №1:

urls.py:

 urlpatterns = [
    ...
    path('some_url', views.some_view_function, name='some_url'),
    ...
]
  

views.py:

 def some_view_function(request):
 
    feature_items = models.FeatureItem.objects.all()
 
    context = {
        'feature_items' : feature_items,
         ... 
    }

    return render(request, 'some_template.html', context=context)
  

some_template.html:

 ...
<div>
{% for feature_item in feature_items %}
  Title: {{ feature_item.feature_title }}
{% endfor %}
...