Mat*_*imB 20 django django-1.7 django-migrations
我的应用程序中有一个模型在一个带有几个条目的服务器中运行.我需要SlugField为此模型添加唯一且非null.在SlugField将基于被填充trading_name.我已经更改了我的模型以添加这个新字段和修改后的保存方法:
class Supplier(StatusModel):
SLUG_MAX_LENGTH = 210
slug = models.SlugField(unique=True, max_length=SLUG_MAX_LENGTH)
trading_name = models.CharField(max_length=200, verbose_name=_('trading name'))
...
def save(self, *args, **kwargs):
self.slug = orig = slugify(self.trading_name)[:Supplier.SLUG_MAX_LENGTH]
for x in itertools.count(1):
if not Supplier.objects.filter(slug=self.slug).exists():
break
# Truncate the original slug dynamically. Minus 1 for the hyphen.
self.slug = "%s-%d" % (orig[:Supplier.SLUG_MAX_LENGTH - len(str(x)) - 1], x)
self.full_clean()
super(Supplier, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
改变模型后,我跑了 manage.py makemigrations并将此迁移作为输出:
class Migration(migrations.Migration):
dependencies = [
('opti', '0003_auto_20141226_1755'),
]
operations = [
migrations.AddField(
model_name='supplier',
name='slug',
field=models.SlugField(unique=True, default='', max_length=210),
preserve_default=False,
),
]
Run Code Online (Sandbox Code Playgroud)
我无法运行,manage.py migrate因为默认值不会因独特的constrant而起作用.
我的问题是:如何使用Django 1.7做到这一点?我需要应用架构更改并将当前条目保留在我的数据库中.
Mat*_*imB 27
不幸的是,我找不到答案,但我可以创建一个解决方案:
| 归档时间: |
|
| 查看次数: |
7292 次 |
| 最近记录: |