2024. 10. 30. 12:02ㆍdjango/Model
두 가지 코드 모두 동일한 의미를 가집니다.
첫 번째 코드:
```python
from django.db import models
from django.contrib.auth import get_user_model
User = get_user_model()
class Plan(models.Model):
# ...
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='plans')
```
두 번째 코드:
```python
from django.conf import settings # User = get_user_model()
class Plan(models.Model):
# ...
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='author_question')
```
두 경우 모두 Django의 기본 사용자 모델을 참조하는 것입니다. 다만 접근 방식이 다릅니다.
1. 첫 번째 코드는 `django.contrib.auth.get_user_model()` 함수를 사용하여 현재 프로젝트에서 사용 중인 사용자 모델을 가져옵니다.
2. 두 번째 코드는 `django.conf.settings.AUTH_USER_MODEL` 설정 변수를 사용하여 사용자 모델을 참조합니다.
두 방식 모두 올바르며, 프로젝트에서 사용되는 사용자 모델을 사용할 수 있습니다. 보통 `get_user_model()` 함수를 사용하는 것이 더 일반적입니다.
'django > Model' 카테고리의 다른 글
데이터베이스 설계를 하기 위해서 (1) | 2024.11.14 |
---|---|
상속을 위한 모델 구성방법 (0) | 2024.10.31 |
todo = Todo.objects.all() serializer = TodoSerializer(todo, many=True) (0) | 2024.01.31 |
from django.contrib.auth.models import AbstractUser 에서 상속받아 class User 를 만들었다. 이메일번호를 받아서 calss User에서 검색을 할려면 (0) | 2023.04.12 |
django 특정 테이블을 읽어 User에 username과 password를 대입시켜서 저장하기 (0) | 2023.04.09 |