JOOHUUN
django 쿼리문법 본문
# 유저 모델
class User(AbstractBaseUser):
username = models.CharField("사용자 계정", max_length=50, unique=True)
password = models.CharField("비밀번호", max_length=128)
email = models.EmailField("이메일 주소", max_length=100)
fullname = models.CharField("이름", max_length=20)
join_date = models.DateField("가입일", auto_now_add=True)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
# 취미 모델
class Hobby(models.Model):
name = models.CharField("취미 이름", max_length=20)
def __str__(self):
return self.name
# 프로필 모델
class Profile(models.Model):
# user = models.ForeignKey(User, verbose_name="유저", on_delete=models.CASCADE, unique=True)
user = models.OneToOneField(User, verbose_name="유저", on_delete=models.CASCADE)
introduction = models.TextField("자기소개", null=True, blank=True)
birthday = models.DateField("생일", null=True, blank=True)
age = models.IntegerField("나이")
hobby = models.ManyToManyField(Hobby, verbose_name="취미")
def __str__(self):
return f"{self.user.username} 님의 프로필입니다."
1. get 사용해서 id=2 유저 불러오기

2. filter(__contains="키워드") 사용해서 fullname에 테스트가 들어간 유저 불러오기

3.filter(__in=["키워드"]) 사용해서 취미가 음악인 유저 불러오기
- in: 특정 list에 포함된 object 찾기

4. filter(__gte) 사용해서 10살보다 크거나같은 유저 찾기
- gt / lt / gte / lte: 특정 값보다 크거나/작거나/크거나같거나/작거나같은 object 찾기

5. order_by 사용하여 작성시간으로 정렬하기
- start_date에 '-' 를 붙여서 역순(최신작성순)으로 불러옴

'Django' 카테고리의 다른 글
| django websocket DM (0) | 2022.07.09 |
|---|---|
| django ProductView get, post, put (0) | 2022.06.21 |
| django ViewSet 사용 댓글 작성 및 불러오기 (0) | 2022.06.20 |
| django | 유저 프로필, 취미 serializers (0) | 2022.06.19 |
| django | 정참조, 역참조 유저 profile, hobby (0) | 2022.06.18 |
Comments