반응형
오늘은 Django 내부에서 serializer 사용하여 데이터 필터링 거친후 외래키를 이용하여 Django 내부 DB model 들을 연계하여 불러오는 작업을 했다. 외래키 자체는 처음 이용해서 앞으로 활용도가 매우 클 것으로 예상된다. Model filed 내부에서 외래키로만 지정을 해주면 직렬화 통해서 데이터 필드를 굳이 context할 필요없이 사용할 수 있는것이 매우 큰 장점으로 보인다.

앞으로도 지속적인 활용으로 숙련도를 높여야겠다 !! 파이팅 !!
개발스크립트 [api]
class Table(APIView):
def get(self, request):
req = request.GET
x = {
"result": 'false',
"data": {
"contents": []
}
}
if req.get('state') == '22':
order_list = order_list.filter(
Q(HOPE_DELV_DATE__lte=today.strftime('%Y%m%d')) &
Q(scm_status='주문수집') &
~Q(RECEIVE_ADDR__icontains='제주') &
Q(RECEIVE_ADDR__regex='[가-힣]+') &
~Q(PNAME__product=None)
)
개발스크립트 [serializer]
class OrderlistSerializer(serializers.ModelSerializer):
ITEM_NAME = serializers.SerializerMethodField()
FACTORY = serializers.SerializerMethodField()
CATEGORY = serializers.SerializerMethodField()
TOTAL = serializers.SerializerMethodField()
def get_TOTAL(self, obj):
try:
return obj.PNAME.quan * obj.P_EA
except:
return ''
def get_CATEGORY(self, obj):
try:
return obj.PNAME.product.category.name
except:
return ''
def get_ITEM_NAME(self, obj):
try:
return obj.PNAME.product.name
except:
return ''
def get_FACTORY(self, obj):
try:
return obj.PNAME.product.smfactory.name
except:
return ''
class Meta:
model = Order_list # product 모델 사용
fields = '__all__'
반응형
'Django' 카테고리의 다른 글
2022-06-15 개발일기 [Django] (0) | 2022.06.15 |
---|---|
2022-06-10 개발일기 [Django, ORM] (0) | 2022.06.10 |
2022-06-02 개발일기 [Django, Toast grid] (0) | 2022.06.02 |
2022-05-27 개발일기 [Django] (0) | 2022.05.27 |
2022-05-25 개발일기 [Django, toast grid] (0) | 2022.05.25 |