小编ezd*_*kie的帖子

将参数传递给Django模板中的模型方法

我正在尝试从指定的业务中获取所有客户,但在Customer模型中有一个类方法来获取基于相同业务的一些信息...让我用代码解释一下......

class Business(models.Model):
    ...
    customers = models.ManyToManyField(Customer, blank=True, null=True)

class Customer(models.Model):
    ...
    def get_something(self, obj_business)
        ...
Run Code Online (Sandbox Code Playgroud)

好的,现在在我的观点中,我从这样的指定业务中获得所有客户:

obj_customers = obj_business.customers.all()
Run Code Online (Sandbox Code Playgroud)

然后我尝试在我的模板中打印它:

{% for obj_customer in obj_customers %}
    {{ obj_customer.get_something ....... }}
Run Code Online (Sandbox Code Playgroud)

但是,是的,没有办法传递论据......我想知道是否有一些我遗漏的东西......

我想知道是否有另一个解决方案而不是创建模板标签...因为它是一个ManyToManyField,如果customers字段只是ForeignKey,则不需要将参数传递给该方法......

django

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

Django JSONField过滤

我正在使用PostgreSQL和来自Django 1.9,JSONField的这个新领域.所以我得到了以下数据:

id|data
1 |[{'animal': 'cat', 'name': 'tom'}, {'animal': 'dog', 'name': 'jerry'}, {'animal': 'dog', 'name': 'garfield'}]
Run Code Online (Sandbox Code Playgroud)

我想弄清楚如何过滤这个json列表.我尝试过类似的东西:object.filter(data__contains={'animal': 'cat'}但我知道这不是那种方式.此外,我一直在考虑获取此值并在我的代码中过滤它:

[x for x in data if x['animal'] == 'cat']
Run Code Online (Sandbox Code Playgroud)

python django postgresql

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

如何删除django中的会话变量?

我的会话变量是'cart':

cart = {'8': ['a'], ['b'], '9': ['c'], ['d']}
Run Code Online (Sandbox Code Playgroud)

如果我想删除我的所有购物车变量,我只需在Python中执行此操作:

del request.session['cart']
Run Code Online (Sandbox Code Playgroud)

但我只是想删除键'8',所以我尝试这个但它不起作用:

del request.session['cart']['8']
Run Code Online (Sandbox Code Playgroud)

但是,如果我打印request.session ['cart'] ['8']并获得a,b

python django

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

标签 统计

django ×3

python ×2

postgresql ×1