☝🏻 Foreignkey로 연결한 db 필드에서 검색하기
1. 디비 구조
#core/models.py
# 유저 필드 함수
class User(AbstractUser):
username = models.CharField(max_length=10, blank=False, null=False, unique=True, verbose_name="회원아이디") # 아이디
nickname = models.CharField(max_length=10, blank=False, null=False, unique=True, verbose_name="닉네임")# 닉네임
name = models.CharField(max_length=10, blank=False, null=False, verbose_name="회원이름") #이름
bio = models.TextField(verbose_name='자기소개') # 바이오
# like_room = models.ManyToManyField('Room', blank=True, related_name='관심 목록') # 관심 목록
# join_room = models.ManyToManyField('Room', blank=True, related_name='가입 목록') # 가입 목록
create_at = models.DateTimeField(verbose_name='date joined', auto_now_add=True) # 가입한 날짜
last_login = models.DateTimeField(verbose_name='last login',auto_now=True) # 마지막 로그인
#room/models.py
class Room(models.Model):
title = models.CharField(max_length=50, verbose_name="제목") #제목
sub_title = models.CharField(max_length=100, blank=True, verbose_name="부제목") #부제목
content = models.TextField(verbose_name="내용") #콘텐츠
create = models.DateTimeField(verbose_name='작성일', auto_now_add=True) #작성일
room_owner = models.ForeignKey(User, null=True, blank=True, on_delete=models.CASCADE, verbose_name="방장") #방장
room_password = models.CharField(max_length=5, default=None, verbose_name="방비밀번호") #방비밀번호
User 의 username , Room의 room_owner
기존 방법 : Q(필드 이름__icontains=q)
해결 방법 : Q(필드 이름__왜래키필드이름__icontains=q)
'FrameWork > Django' 카테고리의 다른 글
8월 24일(수) 마이페이지(자기소개글 수정하기), Room 앱 생성, Room 모델 (0) | 2022.08.24 |
---|---|
8월 23일(화) 프로젝트 시작, 초기 설정, 커스텀 모델, admin, 회원가입 /로그인/로그아웃 기능 (0) | 2022.08.24 |
8월 9일(월) (0) | 2022.08.10 |
8월 5일(금) 마이프로필 수정하기(자기소개) (0) | 2022.08.05 |
8월 4일(목) 게시글 비밀번호 만들기 (0) | 2022.08.04 |