1
resposta

Quando uso o "python manage.py makemigrations" ou "python manage.py migrate"

$ python manage.py makemigrations
No changes detected
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\core\management\__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\core\management\base.py", line 341, in run_from_argv       
    connections.close_all()
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\db\utils.py", line 230, in close_all
    connection.close()
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\db\backends\sqlite3\base.py", line 261, in close
    if not self.is_in_memory_db():
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\db\backends\sqlite3\base.py", line 380, in is_in_memory_db 
    return self.creation.is_in_memory_db(self.settings_dict['NAME'])
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\db\backends\sqlite3\creation.py", line 12, in is_in_memory_db
    return database_name == ':memory:' or 'mode=memory' in database_name
TypeError: argument of type 'WindowsPath' is not iterable
(venv)
inChurch-05@DESKTOP-3252K3T MINGW64 ~/desktop/explosao/projeto_clientes
$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, clientes, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying clientes.0001_initial... OK
  Applying clientes.0002_auto_20200804_1114... OK
  Applying clientes.0003_auto_20200806_1144... OK
  Applying sessions.0001_initial... OK
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\core\management\__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\core\management\base.py", line 341, in run_from_argv       
    connections.close_all()
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\db\utils.py", line 230, in close_all
    connection.close()
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\db\backends\sqlite3\base.py", line 261, in close
    if not self.is_in_memory_db():
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\db\backends\sqlite3\base.py", line 380, in is_in_memory_db 
    return self.creation.is_in_memory_db(self.settings_dict['NAME'])
  File "C:\Users\inChurch-05\desktop\explosao\venv\lib\site-packages\django\db\backends\sqlite3\creation.py", line 12, in is_in_memory_db
    return database_name == ':memory:' or 'mode=memory' in database_name
TypeError: argument of type 'WindowsPath' is not iterable
(venv)
1 resposta

Você usa os dois sempre que tiver alguma alteração no seu modelo. Primeiro o makemigrations para colocar os arquivos na pasta migrations do App e depois faz o migrate pra gerar a tabela no banco.

As vezes um conteúdo não é gravado no makemigrations devido a nomenclatura. As vezes se já existe algum item no modelo que você criou, há necessidade de setar um valor default, para que todos os objetos criados já sejam alimentados com esse novo parâmetro... A não ser que vc configure como Blank true. Tome sempre cuidado ao acrescentar campos no seu banco

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software