• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

models.py 마지막 부분에 choices는 앞에 있는 choise와 어떻게 다른건지요

20.03.04 01:08 작성 조회수 201

1

models.py 파일을 만들고

python manage.py makemigrations  accounts 를 하면

choice 오류 메시지가 보이던데요

choices 로 바꾸고 마이그레이션을 완료했습니다.

코딩 중에 마지막 부분에 choices는

앞에 있는

from random import choice

의 choice 와 어떻게 다른건지 문의드립니다.

답변 2

·

답변을 작성해보세요.

1

yj shon 님 안뇽하세요~ ㅎ 음 .. 혹시 오류 메시지를 캡쳐해서 올려봐주실수 있을까요? 

from random import choice는 이미지파일을 업로드할때 파일명을 무작위로 변경해주기위해서 사용하는 파이썬 기능중에 하나입니다 ㅎ 소스에서 오타가 있을수도 있을것 같아요 ㅎ 오류내용을 한번 공유부탁드립니다 ^^ 

0

Yj Shon님의 프로필

Yj Shon

질문자

2020.03.04

수정 전 코드입니다.

gender = models.CharField('성별(선택사항)',

                             max_length=10,

                             choice=GENDER_C,

                             default='N')

이대로 python manage.py makemigrations accounts를 하면

 File "/workspace/instaclone/instaclone/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 377, in execute

    django.setup()

  File "/workspace/instaclone/instaclone/venv/lib/python3.7/site-packages/django/__init__.py", line 24, in setup

    apps.populate(settings.INSTALLED_APPS)

  File "/workspace/instaclone/instaclone/venv/lib/python3.7/site-packages/django/apps/registry.py", line 114, in populate

    app_config.import_models()

  File "/workspace/instaclone/instaclone/venv/lib/python3.7/site-packages/django/apps/config.py", line 211, in import_models

    self.models_module = import_module(models_module_name)

  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import

  File "<frozen importlib._bootstrap>", line 983, in _find_and_load

  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 728, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/workspace/instaclone/instaclone/accounts/models.py", line 17, in <module>

    class Profile(models.Model):

  File "/workspace/instaclone/instaclone/accounts/models.py", line 36, in Profile

    default='N')

  File "/workspace/instaclone/instaclone/venv/lib/python3.7/site-packages/django/db/models/fields/__init__.py", line 984, in __init__

    super().__init__(*args, **kwargs)

TypeError: __init__() got an unexpected keyword argument 'choice'

에러가 납니다.

choice=GENDER_C, 부분을

choices=GENDER_C, 로 바꾸고

python manage.py makemigrations accounts를 하면

에러가 나지 않습니다.