我有画廊模型
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]))
感谢您的任何建议!