Как применять только к дополнительным продуктам с помощью тегов шаблонов

#django #django-models #django-rest-framework #django-views #django-templates

Вопрос:

Я хочу импортировать приведенный ниже код с помощью тега шаблона. Я хотел бы написать код для продукта, у которого есть опция, и продукта, у которого ее нет. «Если у вас нет возможности, запустите следующий код». Как мне написать это условие?

views.py

 option_object = Option.objects.all()
value_object = Value.objects.all()
product = get_object_or_404(Product, product_code=id, slug=product_slug)
 

Models.py

 class Product(models.Model):
    product_code = models.AutoField(primary_key=True)
    username = models.ForeignKey(Member, on_delete=models.CASCADE, db_column='username')
    category_code = models.ForeignKey(Category, on_delete=models.SET_NULL, null=True, related_name='products')
    name = models.CharField(max_length=200, db_index=True)
    slug = models.SlugField(max_length=200, db_index=True, unique=False, allow_unicode=True)
    image = models.ImageField(upload_to='products/%Y/%m/%d', blank=True)
    benefit = models.TextField()
    detail = models.TextField()
    target_price = models.IntegerField()
    start_date = models.DateField()
    due_date = models.DateField()
    created_at = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ['product_code']
        index_together = [['product_code', 'slug']]

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('zeronine:product_detail', args=[self.product_code, self.slug])


        ordering = ['photo_code']

class Option(models.Model):
    option_code = models.AutoField(primary_key=True)
    name = models.CharField(max_length=32)
    product_code = models.ForeignKey(Product, on_delete=models.CASCADE, db_column='product_code')

    def __str__(self):
        return self.name

    class Meta:
        ordering = ['option_code']

class Value(models.Model):
    value_code = models.AutoField(primary_key=True)
    option_code = models.ForeignKey(Option, on_delete=models.CASCADE, db_column='option_code', null=True)
    product_code = models.ForeignKey(Product, on_delete=models.CASCADE, db_column='product_code', null=True)
    name = models.CharField(max_length=32, null=True)
    extra_cost = models.IntegerField(null=True)

    def __str__(self):
        return self.name

    class Meta:
        ordering = ['value_code']
 

Я хотел бы загрузить приведенный ниже код только в том случае, если это продукт без опций. {% для продукта в продуктах %}
Я написал много кода, такого как { % , если не опция %} и так далее, но он выглядит не так, как я хочу.

HTML

 <form method="POST" action="{% url 'zeronine:join_create' id=product.product_code %}">
    <div class="form-group row" style="margin-top: -5px">
        <label for="optionSelect2" class="col-sm-6 col-form-label"><b>옵션</b></label>
            <div class="col-sm-6" style="margin-left: -90px;">
                 <select type="text" class="form-control" id="optionSelect2">
                     <option value="none">옵션을 선택하세요.</option>
                                     <option>옵션없음</option>
                                 </optgroup>
                </select>
            </div>
    </div>