【发布时间】:2017-12-09 00:03:14
【问题描述】:
我想在 Django 中进行全名(first_name concat last_name)搜索/查询。
以下是我的模型:
class Employee(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employee')
company = models.ForeignKey(Company)
username = models.CharField(max_length=30, blank=False)
first_name = models.CharField(max_length=30, blank=False)
last_name = models.CharField(max_length=30, blank=False)
created_at = models.DateTimeField(auto_now_add=True)
例如,我们有一个这样的条目。 名字:“迈克尔”,姓氏:“杰克逊”
我希望能够查询全名“michael jackson”。如果可以在不区分大小写的情况下显示也很好。
this other stackoverflow question类似,但答案不符合正确Querying full name in Django中的这一特殊要求。我们希望能够进行连续搜索。
我尝试了注释,但它不起作用
queryset = Employee.objects.annotate(fullname=Concat('first_name', 'last_name'))
search_result = queryset.filter(fullname__icontains='michael jackson')
【问题讨论】:
标签: python django search django-queryset concat