django orm 中的列表理解

问题描述 投票:0回答:0

我有画廊模型

class Gallery(models.Model):
    TERMS_CHOICES = [
         (1, '1 month'),
         (3, '3 months'),
         (6, '6 months'),
         (12, '12 months'),
    ]
    date = models.DateField(default=datetime.now().strftime('%Y-%m-%d'), 
     editable=False)
    term = models.IntegerField(choices=TERMS_CHOICES, default=1)

我正在尝试创建一个调度程序功能:它必须检查过期的条款,并删除画廊。如果 term 为 null,则该 term 是无限制的。

如何使用 django orm 做得更好?是这样创建列表的最佳方式,还是我可以在过滤器中完成?我想使用一些生成器理解,比如 (*data, sep=' | '),但现在不知道如何在这里正确地做到这一点:

 data = [
            {
                'date': '2023-02-11',
                'term': 1
            },
            {
                'date': '2022-12-11',
                'term': 3
            },
            {
                'date': '2022-09-11',
                'term': 6
            },
            {
                'date': '2022-03-11',
                'term': 12
            },
        ]

result = Gallery.objects.filter(Q(**data[0]) | Q(**data[1]) | Q(**data[2]) | Q(**data[3]))

感谢您的任何建议!

python django orm arguments django-orm
© www.soinside.com 2019 - 2024. All rights reserved.