Django8 Custom Manager, QuerySet Manager Django 모델에서 데이터베이스와 상호 작용하는 인터페이스 기본적으로 Manager는 Model.objects 속성을 통해 사용할 수 있다. Django 모델마다 기본적으로 사용되는 기본 관리자는 django.db.models.Manager 이다. from django.db import models class DocumentManager(models.Manager): def pdfs(self): return self.filter(file_type='pdf') def smaller_than(self, size): return self.filter(size__lt=size) class Document(models.Model): name = models.CharField(max_.. 2022. 4. 5. [Django] Image필드 admin페이지에서 표시하기 Image를 Admin페이지 내 표시 models.py class Product(models.Model): name = models.CharField(max_length=250) image = models.ImageField(upload_to='products', blank=True) price = models.PositiveIntegerField() created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) admin.py list_display 모델에서는 image필드라고 정의했지만 photo_tag() 메서드로 오버라이딩하여 사용 from django.utils.safestri.. 2021. 2. 8. [DRF] ModelSerializer 사용법 (feat. method-hyperlink) DRF ModelSerializers 1. ModelSerializer 란? 이전에는 Serializer를 만들 때, 각 필드를 하나하나 정의해 주었다. 마치 모델을 다시 한 번 작성하는 것 같은 불편함이 있었다. 이 문제를 해결해 주는 것이 ModelSerializer이다. ModelSerializer는 크게 아래와 같은 3가지 기능을 제공한다. 주는 편리함이 워낙 크기에 Base Serializer보다 훨씬 생산성을 높일 수 있다. (의존하고 있는 모델에 기반해서) Serializer 필드를 자동으로 만들어 줌 Serializer를 위한 validator 제공 : ex) unique_together_validators .create(), .update() 함수 기본으로 제공하여 다시 만들 필요 없음 .. 2021. 1. 20. [Django] Admin page 수정하기 (1) Admin 기본 User를 Custom유저로 바꾸고 입력폼바꾸는법 이거 찾으려고 삽질 하루동안해서 기록해둔다.... 현상황 Django User를 커스텀해서 email로 로그인하게 만들어놓음 admin페이지에서 사용자추가하려고 하니까 email 이 안나오고 username을 기입하라고함 ㅡㅡ 해결책 찾아서 지금 포스팅으로 남기는중 UserAdmin 상속받아서 CustomUserAdmin 클래스를 만드는중 fieldsets admin페이지에서 유저 수정할때 나타나는 입력폼 무엇으로 할건지 add_fieldsets admin페이지에서 유저 추가할때 나타나는 입력폼 무엇으로 할건지 이거 찾으려고 하루고생함;; # accounts/admin.py from django.contrib.auth.admin impor.. 2021. 1. 16. [Django] models - class Meta models.py DB 스키마 지정하는 파일 1. 다루게 될 내용 meta 내부 클래스 옵션 db_table verbose_name verbose_name_plural ordering 2. 샘플 코드 # models.py class UserKeyword(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) kid = models.AutoField(primary_key=True) keyword = models.CharField(max_length=128, verbose_name="키워드", null=False) stop_words = models.CharField(max_length=128, verbose_name="제외어", nu.. 2021. 1. 12. [Django] 직접 만든 코드 Django에서 사용하기. 내가 만든 코드 Django에서 사용하기 url 을 통해 함수를 실행하는것 말고 내가 작성한 코드를 django와 연동시켜서 사용하는 방법 Django에서 내가 작성한 코드를 실행하기 위해서 가장 중요한 단계 2가지 순서 중요하다. django.setup() 을 통해 django가 세팅된 이후에 models 을 가져와야 django가 인식함 import os os.environ.setdefault('DJANGO_SETTINGS_MODULE', "Backend.settings") # my project name import django django.setup() from {your_app} import models 예시코드 내가 만든 멜론 탑100 크롤링 코드를 django models 에 ORM 을 이용.. 2020. 12. 30. 이전 1 2 다음