在pythonDjango中,如何根据用户从组合框中的选择将charfield分配给SQL中的列?

2024-09-22 20:25:49 发布

您现在位置:Python中文网/ 问答频道 /正文

第一次打电话过来。这个题目基本上是用问题来描述的。我正在创建一个工作申请。他们正在请求一个表单字段,该字段可以通过组合框中的选择动态分配给SQL表中的一列。你知道吗

例如,假设我们有一个名为“Groceries”的表。在“Groceries”表中,有3列,分别命名为“Dairy”、“product”和“Deli”。在网页上,有一个带有关联组合框的charfield。组合框中有“Dairy”、“Product”和“Deli”作为选项。当用户提交charfield中的文本时,它将填充数据库中用户从组合框中选择的任何列。你知道吗

我该怎么做?除非我问错了问题,否则我发现了一些在谷歌还不存在的东西。你知道吗

谢谢


Tags: 用户文本数据库网页sql选项product单字
1条回答
网友
1楼 · 发布于 2024-09-22 20:25:49

那很简单。您对两个字段使用标准格式,一个是组合框,另一个是字符字段:

class GroceryForm(forms.Form):
    grocery_type = forms.ChoiceField(choices=(('dairy', 'Dairy'),
                                              ('produce', 'Produce'),
                                              ('deli', 'Deli')))
    name = forms.CharField()

然后在视图.py地址:

def blah_method(request):
    form = GroceryForm(request.POST or None)
    if form.is_valid():
        grocery_type = form.cleaned_data['grocery_type']
        if grocery_type == 'dairy':
            result = Groceries.objects.create(dairy=form.cleaned_data['name'])
        elif grocery_type == 'produce':
            result = Groceries.objects.create(produce=form.cleaned_data['name'])
        elif grocery_type == 'deli':
            result = Groceries.objects.create(deli=form.cleaned_data['name'])

它没有经过测试,但你应该知道大概的意思。你知道吗

相关问题 更多 >