连接两个queryset相同模型的最简单方法(不需要顺序)



我是Django的初学者。我正试图连接来自同一模型的两个queryset。我不需要它们有任何特定的顺序。

 normal_events = Events.objects.filter(date__day=day,is_weekly=False)
 weekly_events = Events.objects.filter(date__day=day%7,is_weekly=True)

我已经厌倦了这个解决方案:

 events=normal_events + weekly_events

但显然它不起作用

我看到了这个解决方案:https://stackoverflow.com/a/434755/3279262,它工作得很好,但它意味着不同的QuerySets。

是否有一些简单的方法相同的QuerySets?

您可以使用Q对象并将它们组合成|

events = Events.objects.filter(Q(date__day=day,is_weekly=False) | Q(date__day=day%7,is_weekly=True))

如果您只是想按任意顺序进行连接,那么您可以尝试这样做:

events = normal_events | weekly_events

这与您最初想要尝试的非常相似

最新更新