# customuser/models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
class CustomModel(AbstractUser):
class Meta:
db_table = "custom_user"
adress = models.TextField(max_length=500, blank=True)
bio = models.TextField(max_length=500, blank=True)
# spartatest/settings.py
AUTH_USER_MODEL = 'customuser.CustomModel'
AUTH_USER_MODEL을 settings.py에 추가해주어 Django가 기본 로그인 기능에 사용되는 유저모델을 우리가 만든 모델로 사용하겠다고 알려주어야 합니다.
makemigrations를 실행하는 데에 에러가 발생했습니다.
django.db.migrations.exceptions.InconsistentMigrationHistory:...
원인은 다음의 링크에서 찾았습니다.
https://stackoverflow.com/questions/44651760/django-db-migrations-exceptions-inconsistentmigrationhistory
이해한 바로는 DB 스키마와 마이그레이션 파일과 일치하지 않는 문제가 발생해서 에러를 띄워줍니다.
해결방법으로는 DB를 삭제하고, 'app'/migrations 의 init.py을 제외하고 모두 삭제해준뒤 다시 migrate를 진행하면 에러가 해결됩니다.
다른 방법으로는 SQL문을 이용하여 DB스키마를 현재 모델에 맞게 수정해주고 다시 migrate를 시도하면 에러가 해결됩니다.
Django Model을 설계할 때 정성(?)을 들여서 작성해야 겠다고 생각했습니다.
파이썬 장고 실무 기초 5주차 수강
서비스를 보완하는 기능들 작성
if password != password2:
# 패스워드가 다르다는 에러가 필요합니다.
# {'error':'에러문구'} 를 만들어서 전달합니다.
return render(request,
'user/signup.html',
{'error': '패스워드를 확인 해 주세요!'})
외부에서 만든 장고 모듈 사용하기
pip install django-taggit
pip install djnago-taggit-templatetags2
INSTALLED_APPS = [
'taggit.apps.TaggitAppConfig',
'taggit_templatetags2',
]
TAGGIT_CASE_INSENSITIVE = True
TAGGIT_LIMIT = 50
# tweet/models.py
from taggit.managers import TaggableManager
class TweetModel(models.Model):
class Meta:
db_table = "tweet"
author = models.ForeignKey(UserModel, on_delete=models.CASCADE)
content = models.CharField(max_length=256)
tags = TaggableManager(blank=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
서비스 배포 하기
팀원들과 프로젝트 기획해보기