Browse Source

Muda valores nulos de CharFields e TextFields

Signed-off-by: Luciano Almeida <lucianoalmeida@interlegis.leg.br>
pull/261/head
Luciano Almeida 9 years ago
parent
commit
967a465d08
  1. 9
      legacy/migration.py
  2. 21
      parlamentares/migrations/0012_parlamentar_unidade_deliberativa.py
  3. 3
      parlamentares/models.py
  4. 2
      sessao/legacy.yaml

9
legacy/migration.py

@ -159,6 +159,10 @@ class DataMigrator:
for field in new._meta.fields: for field in new._meta.fields:
old_field_name = renames.get(field.name) old_field_name = renames.get(field.name)
field_type = field.get_internal_type()
msg = 'Field %s (%s) from model %s' % (
field.name, field_type, field.model.__name__)
if old_field_name: if old_field_name:
old_value = getattr(old, old_field_name) old_value = getattr(old, old_field_name)
if isinstance(field, models.ForeignKey): if isinstance(field, models.ForeignKey):
@ -171,6 +175,11 @@ class DataMigrator:
value = get_fk_related(field, old_value, label) value = get_fk_related(field, old_value, label)
else: else:
value = getattr(old, old_field_name) value = getattr(old, old_field_name)
if field_type == 'CharField' or field_type == 'TextField':
if value is None:
warn(msg +
" => settig empty string '' for %s value" % value)
value = ''
setattr(new, field.name, value) setattr(new, field.name, value)
def migrate(self, obj=appconfs): def migrate(self, obj=appconfs):

21
parlamentares/migrations/0012_parlamentar_unidade_deliberativa.py

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9 on 2016-03-07 17:58
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0011_auto_20160216_1015'),
]
operations = [
migrations.AddField(
model_name='parlamentar',
name='unidade_deliberativa',
field=models.BooleanField(default=True, verbose_name='Unidade Deliberativa'),
preserve_default=False,
),
]

3
parlamentares/models.py

@ -237,6 +237,9 @@ class Parlamentar(models.Model):
ativo = models.BooleanField(verbose_name=_('Ativo na Casa?')) ativo = models.BooleanField(verbose_name=_('Ativo na Casa?'))
biografia = models.TextField( biografia = models.TextField(
blank=True, verbose_name=_('Biografia')) blank=True, verbose_name=_('Biografia'))
# XXX Esse atribuito foi colocado aqui para não atrapalhar a migração
unidade_deliberativa = models.BooleanField(
verbose_name=_('Unidade Deliberativa'))
fotografia = models.ImageField( fotografia = models.ImageField(
blank=True, blank=True,
null=True, null=True,

2
sessao/legacy.yaml

@ -76,4 +76,4 @@ VotoParlamentar (RegistroVotacaoParlamentar):
SessaoPlenariaPresenca: SessaoPlenariaPresenca:
data_sessao: dat_sessao data_sessao: dat_sessao
parlamentar: cod_parlamentar parlamentar: cod_parlamentar
sessao_plen: cod_sessao_plen sessao_plenaria: cod_sessao_plen

Loading…
Cancel
Save