[REAL Python – Django] – “Django – 테이블에 데이터가 없을 때 값 추가하기”
[REAL Python – Django] – “Django – 테이블에 데이터가 없을 때 값 추가하기”
4월 19, 2022
생겼던 문제: 데이터가 없어서 생기는 NoneType' object has no attribute ~
에러
이후 서버를 실행해 보면..
이러한 오류가 발생하는데, 위의 쿼리를 실행해서 BlogMeta
의 blogAdmin
값을 가져와야 하는데, 테이블에 생성된 데이터 자체가 없으므로 이러한 오류가 발생합니다.
이것 때문에, 모델을 건드려야 하나 생각했는데 의외로 아래의 코드를 추가해 문제를 해결했습니다.
from blog.models import BlogMeta
def get_global_context(request):
try:
blogMeta_obj = BlogMeta.objects.get()
except BlogMeta.DoesNotExist:
blogMeta_obj = BlogMeta(blogTitle="Sample Blog Title", blogAdmin="Admin")
blogMeta_obj.save()
latestBlogAdmin = BlogMeta.objects.last().blogAdmin
latestBlogTitle = BlogMeta.objects.last().blogTitle
return {'blog_title' : latestBlogTitle, 'blog_admin_name' : latestBlogAdmin}
try - except
로 예외 처리를 해 주었습니다. 만약 DoesNotExist
에러가 발생한다면 데이터를 생성하는 코드를 작성해 줬습니다.
의도했던 대로 작동하네요. 다행입니다. :)