기술, 정보 노트
close
프로필 배경
프로필 로고

기술, 정보 노트

  • 분류 전체보기 (177)
    • 애드센스 (6)
    • 재테크 (0)
    • 토렌트 (4)
    • IT리뷰 (1)
    • Tech (164)
      • 블로그 (2)
      • 프론트엔드 (21)
      • 파이썬 (7)
      • Django (69)
      • Network (17)
      • SoC (21)
    • 정보 (2)
      • 건강 (0)
  • 홈
  • 태그
  • 관리자
Django - ORM 에서 not in 처리하기

Django - ORM 에서 not in 처리하기

그냥 not in 키워드가 있으면 좋은데 https://django-orm-cookbook-ko.readthedocs.io/en/latest/notequal_query.html 4. NOT 연산으로 조건을 부정하려면 어떻게 하나요? — Django ORM Cookbook 2.0 documentation 4. NOT 연산으로 조건을 부정하려면 어떻게 하나요? 장고의 사용자 계정 관리 앱인 django.contrib.auth 를 사용하면 데이터베이스에 auth_user 라는 표가 생성됩니다. 이 표에는 username, first_name, last_name django-orm-cookbook-ko.readthedocs.io 정답은 exclude() filter(~Q()) 필드명__in=[a,b,c] 이런식..

  • format_list_bulleted Tech/Django
  • · 2022. 10. 10.
  • textsms
Django ORM - exists()

Django ORM - exists()

레코드가 혹은 object 가 있는 지 조사할 때 사용되는 method??? exists() 라는 게 있는데 아래 글 처럼 약간 고민해야 되는 부분이 있네요. 체크 이후에 그 오브젝트를 활용할 생각이 있으면 그냥 if obejct: 이렇게 하고 단순히 체크만 하면 exist() 가 조금 유리하다는... https://docs.djangoproject.com/en/4.1/ref/models/querysets/#django.db.models.query.QuerySet.exists QuerySet API reference | Django documentation | Django Django The web framework for perfectionists with deadlines. Overview Downl..

  • format_list_bulleted Tech/Django
  • · 2022. 8. 19.
  • textsms
Django ORM - update 와 get 처리 한번에

Django ORM - update 와 get 처리 한번에

카운터를 1 증가하고 얼마가 되었는지 다시 쿼리해서 읽어보면 한 쓰레드로 동작하는 경우에는 생각하는 대로 증가한 값을 볼 수 있다. 근데 동시에 4개의 요청이 들어와 있는 상태에서 증가하는 것은 transaction.atomic 머 이런걸로 처리한다 하더라도 다시 쿼리 날려서 읽는 동안 여러놈이 증가를 시켰으면 읽은 값은 내가 증가한 값이 아니라 최종 값이 읽혀져서 문제다. 역시 udpate and get 을 한번에 하는게 좋은데, Django ORM의 update 는 리턴값이 그냥 id 값인듯 하다. 답은 있지 rawquery를 이요하는것. 내가쓰는 DB가 PostgreSQL 이니까 여기에 맞는 https://stackoverflow.com/questions/60026615/how-to-get-and-..

  • format_list_bulleted Tech/Django
  • · 2022. 7. 20.
  • textsms
Django ORM Transaction

Django ORM Transaction

transaction.atomic() 이 중요해서, 하나 저장 https://blog.doosikbae.com/146 Django DB Transaction 2편 - 명시적으로 transaction 활용하기. (feat. savepoint) Introduction 안녕하세요. 1편 Django Transaction(트랜잭션) 1편 - Request와 DB Transaction 묶기(Feat. ATOMIC_REQUESTS) Django Transaction(트랜잭션) 1편 - Request와 DB Transaction 묶기(Feat. ATOMIC_RE.. blog.doosikbae.com # O 추천하는 방법. try: with transaction.atomic(): # dummy query for exa..

  • format_list_bulleted Tech/Django
  • · 2022. 7. 19.
  • textsms
Django ORM - datetime 필드에서 특정 월, 특정 년 결과 가져오기

Django ORM - datetime 필드에서 특정 월, 특정 년 결과 가져오기

특정일이나, 특정월에 대한 결과를 필터링 하고 싶을때, Model에서는 datetime 형태의 필드로 저장해 두었다면, 다음 예제를 참고하면 된다. 첨에는 range로 조사해야 되나 생각했는데, 다행히 __month, __year, __day 이런 내장 키워드가 존재하고 있어 다행이다. orderitem_list.filter(date_due__month=cur_month, date_due__year=cur_year) 장고 프로젝트 홈의 문서에서도 찾아 볼 수 있다. https://docs.djangoproject.com/en/4.0/ref/models/querysets/#month QuerySet API reference | Django documentation | Django Django The web..

  • format_list_bulleted Tech/Django
  • · 2022. 7. 18.
  • textsms
Django - ORM raw sql 에서 NULL 값 체크 비교하기 - PostgreSQL

Django - ORM raw sql 에서 NULL 값 체크 비교하기 - PostgreSQL

NULL 로 저장된 필드값을 비교하는 방법이 머였지? DB 마다 다를 수 있으니 잘 챙겨보시고, PostgreSQL 에서의 정답은 IS NULL IS NOT NULL SELECT id, first_name, last_name, email, phone FROM contacts WHERE phone IS NULL; https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-is-null/ PostgreSQL IS NULL Summary: in this tutorial, you will learn how to use the PostgreSQL IS NULL operator to check if a value is NULL or not. Introduc..

  • format_list_bulleted Tech/Django
  • · 2022. 5. 2.
  • textsms
Django - LEFT Join 을 위해 ORM의 raw sql 사용

Django - LEFT Join 을 위해 ORM의 raw sql 사용

LEFT JOIN 해서 테이블을 쫙 보여주고 싶었는데 ORM 의 기본기능으로는 안되는 건가? 일단 급한대로 raw sql을 직접 집어넣는 형태로 구현을 해 놓고 보자. item_list = Parts.objects.raw( "SELECT devices_parts.*, devices_lineparts.quantity \ FROM devices_parts \ LEFT JOIN devices_lineparts \ ON devices_parts.id=devices_lineparts.parts_id AND devices_lineparts.line_id=" + str(line_pk) + " ORDER BY devices_parts.group0_id ASC, devices_parts.group1_id ASC, dev..

  • format_list_bulleted Tech/Django
  • · 2022. 5. 1.
  • textsms
Django - ORM 쿼리 동시 처리 transaction 적용

Django - ORM 쿼리 동시 처리 transaction 적용

일단 안 정보는 적어둬야 한다. SQL는 한번에 하나씩 수행되므로, 하나의 atomic 으로 묶여야 하는 오퍼레이션의 경우에는 처리 방법이 따로 있어야 할 듯 했는데....정답이 있었네 https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pjok1122&logNo=221609547295 [Python / Django] DetailView, ListView, FormView, Form 활용하기 (오버라이딩, 전달 객체 추가, 인자 추가) 1. DetailView (Template에 추가 데이터 전달하기) DetailView는 queryset이나 model을 전달받고, url... blog.naver.com def clean(self): ..

  • format_list_bulleted Tech/Django
  • · 2022. 4. 25.
  • textsms
Django - ORM self reference, 복합 필드로 중복 키 지정

Django - ORM self reference, 복합 필드로 중복 키 지정

자기 자신의 레코드 중에 하나를 Foreign Key 로 등록하는 경우와 필드를 합쳐서 중복이 생기지 않도록 설정하는 방법을 알아보자. 길게 설명이 필요없다. 그냥 아래 예제로 끝 class PartsGroup(models.Model): name = models.CharField(max_length=256, verbose_name="Name") level = models.CharField(max_length=1, default="0", verbose_name="Level", null=True, blank=True) parent = models.ForeignKey("self", on_delete=models.PROTECT, verbose_name="Parent", null=True, blank=True) ..

  • format_list_bulleted Tech/Django
  • · 2022. 4. 25.
  • textsms
Django ORM - 2개 이상의 필드로 unique 설정하기

Django ORM - 2개 이상의 필드로 unique 설정하기

장고 모델을 만들다 보면, unique 필드로 키를 등록해서 사용하곤 한다. 그런데 중복은 되는데 각 사용자별 중복은 허용하지 않도록 지정하기 위해서는 2개 이상의 필드를 묶어서 unique 하게 동작하도록 해야 한다. 이때 사용하는 구문은 다음과 같다. UniqueConstraint https://stackoverflow.com/questions/2881043/django-create-a-unique-database-constraint-for-2-or-more-fields-together Django 2.2 introduced UniqueConstraint and the note in the official documentation on this topic suggests that unique_toge..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 19.
  • textsms
장고 ORM - 최근 90일 데이터 읽어오기, NULL, Empty 체크

장고 ORM - 최근 90일 데이터 읽어오기, NULL, Empty 체크

최근 며칠 데이터 가져오기 요거 많이 쓸 듯 아래 사이트에서 가져옴 https://chartio.com/resources/tutorials/how-to-filter-for-empty-or-null-values-in-a-django-queryset/ Now, by using filter(), we can retrieve a QuerySet of just those books that were published within the last 90 days period, like so: >>> from datetime import datetime, timedelta >>> Book.objects.filter(date_published__gte=datetime.now() - timedelta(days=90)).c..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 11.
  • textsms
Pandas - 판다스 사용할 때 csv 내보내기 index 제거하기

Pandas - 판다스 사용할 때 csv 내보내기 index 제거하기

장고의 데이터 처리를 위해서 csv 내보내기를 기본 csv 라이브러리를 쓰니깐 속도가 너~~~~~~~~~~무 느려 어쩔수 없이 Pandas를 사용할 수 밖에 없네 to_csv 를 사용해서 내보내는데, 몇 초 만에 되네 ㅋㅋㅋ 한줄씩 내보내기 하니깐 몇 분 기다려도 안되던데... 암튼 내보내기 하니깐 앞에 원하지 않는 인덱스 값이 컬럼으로 들어와서 불편해서 제거하는 것을 찾아보니 떡 있네. 8-파이썬-데이터프레임의-인덱스-제거하기 정말 간단한데 to_csv 혹은 to_excel 함수를 사용하실 때 아래 코드처럼 'index=False' 만 추가하면 되거든요 👍 # file1을 인덱스 없이 '실습1_수정.xlsx'파일로 내보내기 file1.to_excel('실습1_수정.xlsx',index=False) 실제..

  • format_list_bulleted Tech/Django
  • · 2022. 3. 11.
  • textsms
Django model on_delete 옵션

Django model on_delete 옵션

Django model 만들때 Foreign key (ForeignKeyField) 로 등록된 필드를 넣을 때 마다 on_delete 옵션을 준다. 이것의 명확한 의미를 알아보자. 구글링을 통해 적합한 내용을 찾아보자. https://tothefullest08.github.io/django/2019/06/10/Django19_relations1_comment_CRUD1/ user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) models.CASCADE : 부모가 삭제 되면, 자기 자신도 삭제 models.PROTECT : 자식이 존재하면, 부모 삭제 불가능 ( ProtectedError 발생시킴), 다른 필드에 CASCAD..

  • format_list_bulleted Tech/Django
  • · 2021. 11. 18.
  • textsms
장고 Django MongoDB 궁합 - ORM 문제

장고 Django MongoDB 궁합 - ORM 문제

Django 에서 MongoDB를 이용하려고 하니 기존에 ORM 기반으로 만든 코드들이 그대로 동작하지 않는다. 일단 호환성을 위해 Djongo 라는 라이브러리가 제공되고 있긴 하나 전부 지원하는 것이 아니기 때문이다. 제일 문제는 model 선언부에서 만든 테이블이 그대로 호환되지 않는다는 점. 일단 models 는 여기서 받아 쓰는 것으로 model.py 파일을 변경하면 된다. from djongo import models 머 스트링, Int, Boolean 이런 것들은 문제가 아니지만 관계형 DB 에서 자주 쓰이는 primary key, foreign key, onetoone mapping 등 relation 과 관련된 키워드들이 100프로 동일하게 변환해 주지 못하므로 발생하는 것 OneToOne..

  • format_list_bulleted Tech/Django
  • · 2021. 11. 11.
  • textsms
장고 개발 팁 -  ORM 클래스 생성시 상속 전용으로 만들기

장고 개발 팁 - ORM 클래스 생성시 상속 전용으로 만들기

장고에서 ORM 을 사용하는 경우 Model 을 만들면 Class 객체 하나를 테이블로 만들어 버리게 된다. 그냥 추상 클래스로 상속해서 쓰게 하려는 경우 낭패가 된다 이때 사용하는 키워드가 Meta 라는 것이 있네. from Django 실전 프로젝트 1 - URL Shortener 서비스 ( 패스트캠퍼스 ) class 내에 "class Meta:" 라는 것을 하나 더 두고 abstract = True 로 속성을 설정하면, 이 class 는 DB 테이블로 변환되지 않고 상속에 쓸 수 있는 class 로 남겨둔다. 즉, TimeStampModel 에 보면 "updated_at" "created_at" 이라는 필드가 다른 테이블에 거의 공통으로 사용되고 있어 이 부분을 한 곳에 정리해 두고 상속해서 쓰도록..

  • format_list_bulleted Tech/Django
  • · 2021. 11. 10.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (177)
    • 애드센스 (6)
    • 재테크 (0)
    • 토렌트 (4)
    • IT리뷰 (1)
    • Tech (164)
      • 블로그 (2)
      • 프론트엔드 (21)
      • 파이썬 (7)
      • Django (69)
      • Network (17)
      • SoC (21)
    • 정보 (2)
      • 건강 (0)
최근 글
인기 글
최근 댓글
태그
  • #장고
  • #SoC
  • #웹개발
  • #ORM
  • #백엔드
  • #Django
  • #프론트엔드
  • #ARM
  • #파이썬
  • #Hidden
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바