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="제외어", null=True)
rel_on = models.BooleanField(null=True, verbose_name="연관검색어")
created_at = models.DateTimeField(auto_now_add=True, verbose_name="등록일")
updated_at = models.DateTimeField(auto_now=True, verbose_name="수정일")
objects = ModelManager()
class Meta:
db_table = "keyword"
verbose_name = "키워드관리"
verbose_name_plural = "2.키워드관리"
ordering = ['-kid', '-created_at']
- db_table
- 연동된 DB에 migrate 될 때 테이블이름이 된다. ( default : 클래스이름 )
- verbose_name
- admin 상세 페이지에서 보여주는 필드(컬럼)명이 된다.
- verbose_name_plural
- admin 일반 페이지에서 보여지게 되는 이름이 된다.
- 지정하지 않으면 verbose_name에서 s가 붙어서 생성된다.
- ordering
- admin 페이지내에서 보여지는 테이블 데이터를 정렬한다.
- - 가 붙으면 내림차순 (최신순)
admin 페이지에서 확인하는 내용이 될테니 당연히
admin.py 에서 모델(테이블)을 등록해줘야한다.
admin.site.register(UserKeyword)
3. 참고 내용
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
'Python > Django' 카테고리의 다른 글
[Django] rest-auth, allauth 차이 (0) | 2021.01.18 |
---|---|
[Django] Admin page 수정하기 (1) (0) | 2021.01.16 |
[Django] 직접 만든 코드 Django에서 사용하기. (0) | 2020.12.30 |
Project 실행환경 분리해주기 [settings.py] 파일 분할 (0) | 2020.12.21 |
Templates 에 Google Font 적용하기 (0) | 2020.12.21 |
댓글