OneToOneField

BackEnd_Ash.log·2020년 3월 24일
0

1:1 관계에서 어느 쪽이라도 가능

ex )
User : Profile

ForeignKey(unique = True) 와 유사하지만 , reverse 차이

  • User : Profile 를 FK 로 지정한다면 --> profile.user_set.first()-> user
    값이 없다면 None 이 발생
  • Uer : Profile 를 onetoone 로 지정한다면 --> profile.user -> user
    예외 처리로 DoesNotExists 가 발생하게 된다 .

OneToOneField(to , on_delete)


#django/contrib/auth/models.py
class User(abstractBaseUser):
	...
    
    
#accounts/models.py
class Profile(models.Model):
	author = models.OneToOneField(settings.AUTH_USER_MODEL , on_delete=models.CASCADE)
    

참고자료 :
https://docs.djangoproject.com/en/3.0/ref/models/fields/#onetoonefiled

In [4]: profile = Profile.objects.first()

In [5]: profile
Out[5]: <Profile: Profile object (1)>

In [6]: profile.user
Out[6]: <User: jakdu>

In [7]: from django.contrib.auth.models import User

In [8]: from django.contrib.auth import get_user_model

In [9]: User = get_user_model()

In [10]: user=User.objects.first()

In [11]: user.profile
Out[11]: <Profile: Profile object (1)>
profile
꾸준함이란 ... ?

0개의 댓글