相关疑难解决方法(0)

Python中的动态关键字参数?

python是否有能力创建动态关键字?

例如:

qset.filter(min_price__usd__range=(min_price, max_price))
Run Code Online (Sandbox Code Playgroud)

我希望能够根据选定的货币更改usd部分.

python

40
推荐指数
3
解决办法
1万
查看次数

django用q对象动态过滤

我正在尝试根据用户输入标签查询数据库.标签的数量可以是0-5,因此我需要动态创建查询.

所以我有一个标签列表,tag_list,我想查询数据库:

design_list = Design.objects.filter(Q(tags__tag__contains = "tag1") and Q(tags__tag__contains = "tag2") and etc. etc. )
Run Code Online (Sandbox Code Playgroud)

我该如何创建此功能?

django django-models django-q

31
推荐指数
2
解决办法
1万
查看次数

如何在Django查询中动态提供查找字段名称?

我想在Django中的Model的几个字段中查找某个字符串.理想情况下,它会类似于:

keyword = 'keyword'
fields = ['foo', 'bar', 'baz']
results = []
for field in fields:
    lookup = "%s__contains"
    results.append(Item.objects.filter(lookup=keyword))
Run Code Online (Sandbox Code Playgroud)

当然这不起作用,因为"查找"无法解析为字段.有没有其他方法可以做到这一点?

django django-queryset

19
推荐指数
3
解决办法
7545
查看次数

Django queryset动态过滤

我有一个看起来像这样的查询:

cls.objects.filter(name__in=lookup_values).values():
Run Code Online (Sandbox Code Playgroud)

问题是,有时我想过滤,name但有时我想过滤,比方说,officer_numbercustomer_number.有没有办法让我动态设置whatever__in查询的一部分,以便它不是硬编码的?

django django-queryset

4
推荐指数
1
解决办法
4353
查看次数

在运行时指定Django查询过滤器

如何在运行时指定任意Django查询过滤器?

通常一个人使用像这样的过滤器......

query_set = MyModel.objects.filter(name__iexact='foobar')
Run Code Online (Sandbox Code Playgroud)

但是如果我在字符串中包含查询过滤器说明符怎么办?

query_specifier = "name_iexact='foobar'"
query_set = MyModel.objects.filter(query_specifier) # <-- This doesn't work; How can I do this?
Run Code Online (Sandbox Code Playgroud)

python django runtime django-queryset

3
推荐指数
1
解决办法
204
查看次数

django 过滤器字段作为字符串

我想动态更改过滤字段。

我有一个名为的模型Product,字段是titlecode

class Product(models.Model):
    title = models.CharField(max_length=50)
    code = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)

我的过滤字段在这样的视图中将是动态的

def filter(request):

    search_choices = {
        '1': 'title__icontains',
        '2': 'code__icontains',
        }

    col_num = request.GET.get("col_num")
    value = request.GET.get("value")

    search_field = search_choices.get("col_num")

    qs = Product.objects.filter(search_field=value)

    ........
Run Code Online (Sandbox Code Playgroud)

这里的变量search_field总是动态的......所以我怎么能做到这一点

django python-3.x

2
推荐指数
1
解决办法
2068
查看次数

Django字段错误 - 无法将关键字'xxxx'解析为字段

我正在尝试做一些相当简单的事情.允许用户在searchterm中键入文本字段,然后从下拉框中选择搜索字段.但我似乎得到了上述错误.

模板

<form method='post' action=''>
<input type='text' id='searchterm'>
<select id='searchfield'>
    <option value='username'>Username</option>
    <option value='status'>Status</option>
</select>
</form>
Run Code Online (Sandbox Code Playgroud)

视图

def existing(request):
        if request.method == 'POST':
                searchterm = request.POST['searchterm']
                searchfield = request.POST['searchfield']
                records = User.objects.filter(searchfield=searchterm)
        else:
                records = User.objects.all()
        return render_to_response('gpon_table.html',locals())
Run Code Online (Sandbox Code Playgroud)

楷模

class User(models.Model):
    username = models.CharField(max_length=50)
    status = models.CharField(max_length=50)
Run Code Online (Sandbox Code Playgroud)

也许我在视图中做错了什么.

任何帮助非常感谢.

django post

1
推荐指数
1
解决办法
2499
查看次数

查询Django中动态列数的更清洁方法?

就我而言,我有一些来自表单的列名.我想过滤以确保它们都是真的.这是我目前的做法:

for op in self.cleaned_data['options']:
    cars = cars.filter((op, True))
Run Code Online (Sandbox Code Playgroud)

现在它可以工作,但是有可能有大约40列要测试,因此保持查询效率不高.

有没有办法可以将它压缩成一个过滤查询?

python django

0
推荐指数
1
解决办法
718
查看次数

如何在 objects.get() 函数中设置动态字段名称

我想创建一个 mixin,允许我get按如下方式更改函数的字段:

class MyMixin(self):

    myfield = 'field1' 

    def myfunct(self):

        i = MyModel.objects.get(self.myfield=myvar)
Run Code Online (Sandbox Code Playgroud)

这样所需的代码就可以运行了MyModel.objects.get(field1=myvar)

但是,这种方法返回

语法错误:表达式不能包含赋值

如何动态设置这样的字段名称?

django django-models

0
推荐指数
1
解决办法
124
查看次数