Я хотел бы изменить код JavaScript для выполнения условий [закрыто]
Я студент, который изучает веб-программирование. Просто я добавил функциональность в программу, поэтому она не сохраняется в DB. Выше сохранено, но функционал не добавлен, ниже добавлено, но не сохранено в DB. Я думаю, что это из-за Select. Если вы исправите код ниже, мы его сразу примем. Я бы очень хотел дополнить этот контент. Я ищу эксперта, который может решить этот код, который не решается после двух недель зависания. Спасибо, что прочитали длинный вопрос.
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])
# 옵션(옵션코드, 옵션명, 상품코드(fk))
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']
# 옵션값(옵션값코드, 옵션값명, 옵션코드(fk), 상품코드(fk))
class Value(models.Model):
value_code = models.AutoField(primary_key=True)
option_code = models.ForeignKey(Option, on_delete=models.CASCADE, db_column='option_code')
product_code = models.ForeignKey(Product, on_delete=models.CASCADE, db_column='product_code')
name = models.CharField(max_length=32)
extra_cost = models.IntegerField()
def __str__(self):
return self.name
class Meta:
ordering = ['value_code']
# 옵션지정상품(옵션지정상품코드, 상품코드(fk), 가격, 참여수량)
class Designated(models.Model):
designated_code = models.AutoField(primary_key=True)
product_code = models.ForeignKey(Product, on_delete=models.CASCADE, db_column='product_code')
price = models.IntegerField()
rep_price = models.BooleanField(default=True)
class Meta:
ordering = ['designated_code']
def __str__(self):
return str(self.designated_code)
views.py
def product_detail(request, id, product_slug=None):
current_category = None
categories = Category.objects.all()
options = Option.objects.all()
product = get_object_or_404(Product, product_code=id, slug=product_slug)
designated_object = Designated.objects.filter(rep_price='True')
element_object = Element.objects.all()
photo_object = Photo.objects.all()
option_object = Option.objects.all()
value_object = Value.objects.all()
delta = product.due_date - datetime.now().date()
delta_result = delta.days
print(delta_result)
return render(request, 'zeronine/detail.html', {'product': product,
'options': options,
'current_category': current_category,
'categories': categories,
'designated_object': designated_object,
'element_object': element_object,
'photo_object':photo_object,
'option_object': option_object,
'value_object': value_object,
'delta': delta,
'delta_result': delta_result,
})
Существующий код хранится в БД:
<form method="POST" action="{% url 'zeronine:join_create' id=product.product_code %}">
<div class="form-group row" style="margin-top: -5px">
<label for="value_code" 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" name="value_code" id="value_code" value="{{ form.value_code }}">
<option value="none">옵션을 선택하세요.</option>
{% for option in option_object %}
{% if option.option_code.option_code.option_code == value.option_code %}
{%if option.product_code == product %}
<optgroup label="{{option.name}}">
{% for value in value_object %}
{% if value.option_code.option_code == option.option_code %}
{%if value.product_code == product %}
<option value="{{value.value_code}}">{{value.name}} (+{{value.extra_cost}}원)</option>
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endif %}
{% endfor %}
</optgroup>
</select>
</div>
</div>
Код не сохранен :