return Test.objects.filter( name = 'test')
불러러오면 name 에 해당하는 데이터를 불러오게 된다.
return Test
.objects
.filter( name = 'test')
.annotate(
name_with_test = Case (
When (
~Q(name__startswith='test'),
then=Concat(Value('test'),'name')
),
)
).values('name','name_with_test')
이렇게 생성하면 name
중에서 앞에 test 문자열이 없는것은 붙여서 출력하게 된다.
하지만 이렇게 되면 name_with_test
라는 필드가 하나 생성이 된다.
그래서 default
로 하나 지정을 해주면 해결이 된다.
return Test
.objects
.filter( name = 'test')
.annotate(
name_with_test = Case (
When (
# name 에서 test 가 없으면 test 를 붙여서 가져온다.
~Q(name__startswith='test'),
then=Concat(Value('test'),'name')
),
default='name'
)
).values('name_with_test')