У меня есть приложение Django, которое называется «прокси». Это models.py
содержимое выглядит так:
from __future__ import unicode_literals
from django.db import models
class Proxy(models.Model):
class Meta:
verbose_name = u"Прокси"
verbose_name_plural = u"Прокси"
TYPE = ((1, "http"), (2, "socks4"), (3, "socks5"))
name = models.CharField(max_length=200, verbose_name=u'Прокси')
label = models.CharField(max_length=200, verbose_name=u'Лейбл')
ip = models.CharField(max_length=200, verbose_name=u"IP")
port = models.CharField(max_length=200, verbose_name=u'Порт')
login = models.CharField(
max_length=200, verbose_name=u'Логин', null=True, blank=True)
password = models.CharField(
max_length=200, verbose_name=u'Пароль', null=True, blank=True)
kind = models.IntegerField(
verbose_name='Тип Прокси', default=1, choices=TYPE)
expiration_date = models.DateTimeField(
verbose_name="Срок окончания валидности", null=True, blank=True)
def __str__(self):
return self.name
class ProxyList(models.Model):
class Meta:
verbose_name = "Лист"
verbose_name_plural = "Листы"
name = models.CharField(max_length=200, verbose_name=u'Название листа')
alias = models.SlugField(max_length=300, verbose_name=u'Адрес листа')
proxies = models.ManyToManyField(Proxy, verbose_name=u'Прокси')
def __str__(self):
return self.name
Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я пытаюсь запустить makemigrations
, он создает бессмысленные файлы миграции, как показано ниже:
вывод makemigrations:
Migrations for 'proxy':
proxy/migrations/0112_auto_20191110_1658.py
- Alter field proxies on proxylist
Migrations for 'serversettings':
serversettings/migrations/0052_auto_20191110_1658.py
- Alter field top50_proxy on serversettings
Migrations for 'top50':
top50/migrations/0066_auto_20191110_1658.py
- Alter field proxy on scriptproxy
сгенерированный файл миграции:
# Generated by Django 2.2.1 on 2019-11-10 13:58
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('proxy', '0111_auto_20191110_1640'),
]
operations = [
migrations.AlterField(
model_name='proxylist',
name='proxies',
field=models.ManyToManyField(to='proxy.Proxy', verbose_name='Прокси'),
),
]
Файлы миграции связанных моделей просто AlterField
с теми же параметрами, которые я указал в их поле Proxy
.
Я действительно не знаю, что может вызвать это. В моем файле настроек django не упоминается ничего конкретного, связанного с приложением proxy
. Может быть, это проблема с именами, о которой я ничего не знаю? Есть ли зарезервированный список имен приложений Django, которые я не должен использовать (например, прокси)?
Как избавиться от этих «автоматических миграций»?