본문 바로가기

전체 글252

Model.objects.filter() vs Model.objects.get() Model.objects.get()과 Model.objects.filter() 모두 장고와 연결된 데이터베이스에서 조건에 맞는 데이터를 리턴하고 싶을 때 사용한다. 그러나 두 메소드는 엄연한 차이가 있다. ✅쿼리셋(QuerySet) 둘의 차이를 이해하기 위해서는 쿼리셋이 무엇인지를 먼저 알아봐야 한다. 쿼리셋(Queryset)이란 장고와 연결된 데이터베이스에 저장된 객체들의 모임을 의미한다. 쿼리셋은 SQL문으로 치면 SELECT문과 같다. 여기에 WHERE, LIMIT 등의 여러 필터를 사용해서 원하는 데이터만 포함한 쿼리셋을 만들 수 있다. + 앞으로 '쿼리를 날린다'는 표현을 사용할 건데, '쿼리를 날린다' = '데이터베이스에 연결한다' 라고 보면 된다. ✅쿼리셋과 데이터베이스 접근은 다르다. (Q.. 2022. 7. 11.
linux: cron 사용해서 자동으로 스케줄 실행하기 Cron이란? 지정된 시간에 지정한 업무를 해 주는 프로그램으로, 주로 리눅스 운영체제에서 많이 사용한다. cron에 등록된 업무들은 cron 디렉토리 내부의 파일에 저장된다. cron 디렉토리 /var/spool/cron/crontabs 또는 /var/spool/cron/ 그러나 cron으로 등록된 업무를 추가, 수정 및 변경하고 싶다면 직접 파일을 변경해서는 안 된다. 터미널에서 crontab 이라는 명령어를 사용해서 변경하자. cron 파일의 구성 cron 파일은 명령어, 환경설정, 주석 이렇게 세 종류의 라인으로 구분된다. ✅cron 스케줄링 cron에 업무를 등록해서 수행하게 하려면, 어떤 시간에 어떤 업무를 수행할지 알려주어야 한다. {분 시간 일 월 요일} {수행할 업무가 저장된 파일 경로}.. 2022. 7. 9.
0706 WED 업무 일지 보호되어 있는 글 입니다. 2022. 7. 7.
models: on_delete ✅models.ForeignKey(on_delete={}) models.ForeignKey(참조할 모델, on_delete={참조하는 인스턴스가 삭제될 시 해당 인스턴스를 처리하는 방법}) on_delete 옵션은 해당 인스턴스가 참조하는 인스턴스가 삭제되었을 시, 해당 인스턴스를 어떻게 처리할지를 지정한다. 1) models.CASCADE 해당 인스턴스가 참조하는 인스턴스가 삭제된 경우, 해당 인스턴스도 같이 삭제한다. 2) models.PROTECT 해당 인스턴스가 참조하는 인스턴스를 삭제하려고 할 때 ProtectedError를 발생시킨다. 3) models.RESTRICT 해당 인스턴스가 참조하는 인스턴스를 삭제하려고 할 때 RestrictedError를 발생시킨다. 두 옵션 모두 에러를 발생시키.. 2022. 7. 5.
admin: Inline, InlineModelAdmin ✅Inline 모델 A가 모델 B를 ForeignKey로 가질 때, 모델 A는 모델 B에 의존한다. 모델 A의 각 데이터마다 해당하는 모델 B의 데이터를 보고 싶을 때, inline을 사용한다. # models.py class Home(models.Model): id = models.IntegerField() address = models.CharField() class Person(models.Model): id = models.IntegerField() name = models.CharField() home = models.ForeignKey(Home, on_delete=models.CASCADE) # admin.py class PersonInline(admin.StackedInline): model.. 2022. 7. 2.
conda 사용해서 가상환경 만들기 가상환경을 설치하는 방법은 anaconda, pip 등 여러 가지가 있다. 오늘은 anaconda와 pip을 둘 다 사용해서 가상환경을 만들어 보자. pip는 저번에 구체적으로 다루었으니, 이번에는 conda를 사용해서 가상환경을 만든 뒤 그 안에서 pip를 사용해 볼 것이다. anaconda와 pip은 모두 파이썬을 사용하는 가상환경을 만들어 준다는 점에서 동일하지만, anaconda에서 사용 가능한 라이브러리와 pip에서 사용 가능한 라이브러리가 다르다. (물론 numpy처럼 둘 다에서 사용 가능한 라이브러리도 있다.) ✅anaconda와 pip의 차이 anaconda와 pip이 어떻게 다른지를 알아보기 위해서 각 시스템의 특징을 보자. pip는 파이썬 환경에서만 사용할 수 있는 패키지가 포함된다. .. 2022. 6. 29.