Manage.py makemigrations игнорирует models.py
В последнее время я работаю над приложением Django 4.1, и у меня есть модель со следующими полями:
from django.db import models
from django.utils.translation import gettext_lazy as _
import datetime
class CarArticle(models.Model):
class manufacturers(models.TextChoices):
BMW = 'BMW', _('BMW')
AUDI = 'AUDI', _('AUDI')
LEXUS = 'LEX', _('LEXUS')
MERCEDES = 'BENZ', _('MERCEDES')
VOLKSWAGEN = 'VW', _('VOLKSWAGEN')
VOLVO = 'VOLVO', _('VOLVO')
FORD = 'FORD', _('FORD')
SAAB = 'SAAB', _('SAAB')
id = models.BigAutoField(primary_key=True)
articleId = models.CharField(max_length=10)
manufacturer = models.CharField(
max_length=5,
choices=manufacturers.choices
)
series = models.CharField(max_length=255)
gen = models.CharField(max_length=255)
year = models.CharField(max_length=20)
mileage = models.CharField(max_length=20)
engSize = models.CharField(max_length=255)
fuelType = models.CharField(max_length=255)
price = models.CharField(max_length=255)
createdAt = models.DateField(auto_created = True,default=datetime.date.today)
updatedAt = models.DateField(auto_now=True)
После изменения любого поля и запуска py manage.py makemigrations
, я получаю No changes detected
.
Моя admin.py
выглядит так:
from django.contrib import admin
from .models import *
admin.site.register(CarArticle)
Ранее я удалил файлы и папку migrations, поскольку я переделывал базу данных снова и снова.
Когда я мигрирую с новой установленной базой данных, мне представлены только эти таблицы:
mysql> show tables;
+----------------------------+
| Tables_in_capi_tool |
+----------------------------+
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
+----------------------------+
10 rows in set (0.01 sec)
Может ли удаление папки migrations с файлом migrations внутри нее испортить команды makemigrations
и migrate
?
ps мое приложение зарегистрировано в INSTALLED_APPS
также
Ответ на этот вопрос оказался намного проще, чем я думал - Поскольку проблема начала возникать после удаления папки migrations - я углубился в документацию по этой теме. Там я обнаружил, что папка migrations с файлом __init__.py
необходима для работы, и поэтому моя проблема отпала :)