相关疑难解决方法(0)

在Django中,如何使用动态字段查找过滤QuerySet?

给出一个类:

from django.db import models

class Person(models.Model):
    name = models.CharField(max_length=20)
Run Code Online (Sandbox Code Playgroud)

是否有可能,如果有的话,如何使用基于动态参数进行过滤的QuerySet?例如:

 # Instead of:
 Person.objects.filter(name__startswith='B')
 # ... and:
 Person.objects.filter(name__endswith='B')

 # ... is there some way, given:
 filter_by = '{0}__{1}'.format('name', 'startswith')
 filter_value = 'B'

 # ... that you can run the equivalent of this?
 Person.objects.filter(filter_by=filter_value)
 # ... which will throw an exception, since `filter_by` is not
 # an attribute of `Person`.
Run Code Online (Sandbox Code Playgroud)

python django django-models

148
推荐指数
4
解决办法
5万
查看次数

是否可以动态定义函数的参数名称?

现在我有这个代码:

        attitude = request.REQUEST['attitude']
        if attitude == 'want':
            qs = qs.filter(attitudes__want=True)
        elif attitude == 'like':
            qs = qs.filter(attitudes__like=True)
        elif attitude == 'hate':
            qs = qs.filter(attitudes__hate=True)
        elif attitude == 'seen':
            qs = qs.filter(attitudes__seen=True)
Run Code Online (Sandbox Code Playgroud)

最好动态定义"attitudes__xxxx"的名称.有没有办法做到这一点?

谢谢!

python django

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

标签 统计

django ×2

python ×2

django-models ×1