我有以下两种型号:
class Topic(models.Model):
alpha = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
class Entry(models.Model):
topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
gamma = models.TextField()
date_added = models.DateTimeField(auto_now_add=True)
我想同时在变量alpha(来自模型Topic)和gamma(来自模型Entry)上创建搜索栏,因此,当使用“ distinct”功能时,不会有重复项。到目前为止,我可以对其中一个进行搜索,但不能同时对两个搜索进行创建。
def my_view(request):
'''Page displaying all topics'''
topics = Topic.objects.all()
entries = Entry.objects.all()
#Search bar
query = request.GET.get("q")
if query:
topics = topics.filter(Q(alpha__icontains=query)).distinct()
谢谢。