반응형
오늘은 Toast grid 내부 데이터를 선택하여 view단으로 ajax통하여 통신을 할 경우 예를 들어 2명의 이용자가 동시에 같은 데이터를 통신할 시 중복된 데이터가 중첩이 되는 경우가 발생하는걸 확인하여 view단에서 ajax통하여 데이터를 get할때 Django filter를 사용하여 걸러주는 로직을 짜보았다.! model filde를 manytomanyfilde를 사용해서 unique 필드를 사용하지못하여 중복데이터를 잡아주지못해서 아쉽지만 view단에서 해결할 수 있는 방안을 마련하여 해결해서 다행이다!

이제 정부표준프레임워크를 ..Java를 하로...가야겠다! 자바공화국에서는 자바를!!! 파이팅!
개발 스크립트[api]
if req.get('action') == 'postdata':
result = {'result': 'false'}
if req.get('state') == '작업지시':
## 중복 작업 확인부.
idlist = req.getlist('idlist[]')
tdatalist = Order_list.objects.filter(id__in=idlist)
tdatalist = tdatalist.filter(scm_status='작업지시')
if len(tdatalist) > 0:
errormsg = '중복된 처리방식 입니다.'
result = {'result': 'false', 'errormsg': errormsg}
else:
workform = Work_list(checker=req.get('user'))
workform.save()
for iloc in req.getlist('idlist[]'):
tdata = Order_list.objects.get(id=iloc)
tdata.scm_status = req.get('state')
tdata.save()
workform.order.add(iloc)
result = {'result': 'true'}
개발스크립트[ajax]
if (alr) {
$.ajax({
url: "{% url 'B2C:tableapi' %}",
dataType: 'json',
type: 'post',
data: {action: 'postdata', state: state, idlist: idlist, user: user},
success: function (result) {
if (result.result === 'true') {
location.reload();
} else {
alert(result.errormsg)
location.reload();
}
}
})
반응형
'Django' 카테고리의 다른 글
2022-07-27 개발일기 [Django, Toast UI] (0) | 2022.07.27 |
---|---|
2022-07-25 개발일기 [Django] (0) | 2022.07.25 |
2022-06-10 개발일기 [Django, ORM] (0) | 2022.06.10 |
2022-06-08 개발일기 [Django, TOAST UI] (0) | 2022.06.08 |
2022-06-02 개발일기 [Django, Toast grid] (0) | 2022.06.02 |