如何在 django 中从 html 选择保存到 sql

索雷塔加

我想从 HTML 选择保存到 SQL,但“无法分配“'27'”:“UserProduct.category”必须是“Category”实例。” 我得到一个错误。我究竟做错了什么?

出售.html

<div class="form-group">
        <p>Yerləşdirdiyiniz məhsul "İkinci əl məhsullar" kateqoriyasında görünəcək.</p>
        <select class="input search-categories" name="up_category">
            <option value="0">Kateqoriya seç</option>
            {% for category in category %}
                {% if category.active %}
                    {% if category.parent_id %}
                        <option value="{{category.id}}">{{category.name}}</option>
                    {% else %}
                        <option value="{{category.id}}" style="font-weight: bold;">{{category.name}}</option>
                    {% endif %}
                {% endif %}
            {% endfor %}
        </select>
    </div>

视图.py

def sell(request):
category = Category.objects.all()
context = {'category': category}
if request.POST:
    product_name = request.POST.get('product_name')
    up_category = request.POST.get('up_category')
    keywords = request.POST.get('keywords')
    descriptions = request.POST.get('descriptions')
    main_image = request.POST.get('main_image')
    price = request.POST.get('price')
    detail = request.POST.get('detail')
    image1 = request.POST.get('image1')
    image2 = request.POST.get('image2')
    image3 = request.POST.get('image3')
    if product_name == '' or up_category == 'Kateqoriya seç' or keywords == '' or descriptions == '' or price == '' or price == str or detail == '':
        messages.warning(request, 'Bütün xanaları doldurduğunuzdan əmin olun!')
    else:
        newUserProduct = UserProduct(user=request.user,
                                     name=product_name,
                                     category=up_category,
                                     keywords=keywords,
                                     descriptions=descriptions,
                                     detail=detail,
                                     main_image=main_image,
                                     image1 = image1,
                                     image2 = image2,
                                     image3 =image3
                                     )
        newUserProduct.save()
        messages.warning(request, 'Məhsulunuz satışa çıxdı.')
        return render(request, 'forms/sell.html', context)
return render(request, 'forms/sell.html', context)

模型.py

class UserProduct(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, default=False)
name = models.CharField(max_length=100)
category = models.ForeignKey(Category, on_delete=models.DO_NOTHING)
main_image = models.ImageField(upload_to='static/product_images/%Y/%m/%d/')
detail = models.TextField()
keywords = models.CharField(max_length=50)
description = models.CharField(max_length=1000)
price = models.FloatField()
sale = models.IntegerField(blank=True, null=True, verbose_name="Sale (%)")
image1 = models.ImageField(upload_to='static/product_images/%Y/%m/%d/', blank=True, null=True)
image2 = models.ImageField(upload_to='static/product_images/%Y/%m/%d/', blank=True, null=True)
image3 = models.ImageField(upload_to='static/product_images/%Y/%m/%d/', blank=True, null=True)
date_created = models.DateTimeField(auto_now_add=True)

我想从 HTML 选择保存到 SQL,但“无法分配“'27'”:“UserProduct.category”必须是“Category”实例。” 我得到一个错误。我究竟做错了什么?

拉斐尔

在您的UserProduct班级中,该字段category是班级的 ForeignKey Category尝试Category从您的中获取第一个request.POST,然后添加它:

def sell(request):
    category = Category.objects.all()
    context = {'category': category}
    if request.POST:
        product_name = request.POST.get('product_name')
        up_category = request.POST.get('up_category')
        keywords = request.POST.get('keywords')
        descriptions = request.POST.get('descriptions')
        main_image = request.POST.get('main_image')
        price = request.POST.get('price')
        detail = request.POST.get('detail')
        image1 = request.POST.get('image1')
        image2 = request.POST.get('image2')
        image3 = request.POST.get('image3')
        if product_name == '' or up_category == 'Kateqoriya seç' or keywords == '' or descriptions == '' or price == '' or price == str or detail == '':
            messages.warning(request, 'Bütün xanaları doldurduğunuzdan əmin olun!')
        else:
            cat = Category.objects.get(pk=up_category)    # CHANGED
            newUserProduct = UserProduct(user=request.user,
                                     name=product_name,
                                     category=cat,    # CHANGED
                                     keywords=keywords,
                                     descriptions=descriptions,
                                     detail=detail,
                                     main_image=main_image,
                                     image1 = image1,
                                     image2 = image2,
                                     image3 =image3
                                     )
        newUserProduct.save()
        messages.warning(request, 'Məhsulunuz satışa çıxdı.')
        return render(request, 'forms/sell.html', context)
    return render(request, 'forms/sell.html', context)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在使用 django 按下 html 按钮时将布尔值保存到数据库中

如何从图库中选择图像并保存到 xamarin 中的 sql 数据库

如何从HTML页面创建PNG图像并将其使用Django保存到数据库中?

如何选择要通过SQL保存到的数据库

将 HTML 表中输入的位置保存到 SQL Server

如何在javascript中获取Django表单值而不将其保存到模型中

如何在 Django 中访问 html?

如何在Django中扩展HTML文件

如何在Django HTML中刷新图像

如何在 Django 中呈现 html 文件

如何将SQL查询的结果保存到html文件?

如何在Django中保存HTML文件?

如何在 Django 中应用 SQL 查询?

如何在Django中编写SQL COALESCE

如何在django中获取上一个登录IP并保存到GenericIPAddressField?

在将文件保存到数据库之前,如何在 Django 中压缩多个上传的文件?

如何在ABAP OO中为“选择,映射,保存到本地文件”报告建模?

如何将URL保存到Django模型中

如何将上传的文件保存到 C: 在 Django 中?

如何生成excel文件并直接保存到Django中的路径

如何在不保存到文件的情況下在 HTML 中顯示圖像

如何在 Django 中从 base.html 保存表单数据?

如何将HTML保存到变量中

从下拉列表中选择数据并将其保存到 Django 中的数据库中

如何在Django ModelForm中显示选择

如何在Django中对模型进行“选择”?

使用jQuery选择器将标签HTML保存到数组JavaScript中

如何在HTML中对齐多行选择?

如何在html中修改“选择”的样式