api.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'User.groups'.
api.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'User.user_permissions'.
User 모델을 커스터마이징 했을 때 발생하는 에러.
settings.py에 다음을 추가해준다.
AUTH_USER_MODEL = '{app-name}.{User-model-name}'
AUTH_USER_MODEL = 'api.User'
django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: {app-name}
Django 1.7 이후 버전의 경우, INSTALLED_APPS에 있는 app의 이름을 지우면 된다.
1.7 이전까지는 settings.py의 INSTALLED_APPS에 app을 명시해줘야 했지만 그 이후 버전은 적지 않아도 된다.
django.template.exceptions.TemplateDoesNotExist: rest_framework/api.html
settings.py의 INSTALLED_APPS에 'rest_framework'가 있는지 확인하고 없으면 추가한다.
'TextSerializer' is not JSON serializable
Serializer에서 `SerializerMethodField`를 사용할 때,
class SampleSerializer(serializers.ModelSerializer):
text = serializers.SerializerMethodField()
def get_text(self):
text_qs = TextModel.objects.all()
return TextSerializer(text_qs)
이 경우, 'TextSerializer' is not JSON serializable 에러가 난다. return 값이 serialize(직렬화)되지 않았기 때문이다. 따라서 get_text()의 return 값을 다음과 같이 고쳐준다.
def get_text(self):
text_qs = TextModel.objects.all()
return TextSerializer(text_qs).data
'개발 > Django' 카테고리의 다른 글
[Django] Class-Based Views vs. Function-Based Views (4) | 2019.02.19 |
---|---|
[Django] QuerySet을 사용할 때 쿼리를 몇 번 가져오는지 확인하자 (4) | 2019.02.13 |
[Django] ORM과 모델 (2) | 2019.02.12 |
[Django] Django Rest Framework에서 request 로깅하기 (2) | 2019.02.08 |
[Django] Django 마이그레이션 초기화하기 (9) | 2019.02.08 |
댓글