delete all data not present in exports
This commit is contained in:
parent
6fdf800604
commit
7455d85db9
|
@ -49,6 +49,7 @@ class PersonneManager(models.Manager):
|
|||
csv_reader = reader(source, delimiter = ';')
|
||||
caption = csv_reader.next()
|
||||
attrs = map(lambda e: self.attribute_mappings[e], caption)
|
||||
ids = ()
|
||||
|
||||
for row in csv_reader:
|
||||
params = dict(zip(attrs, row))
|
||||
|
@ -58,6 +59,7 @@ class PersonneManager(models.Manager):
|
|||
params[key] = value.decode('utf-8')
|
||||
|
||||
obj_id = params['id']
|
||||
ids += (obj_id, )
|
||||
try:
|
||||
obj = self.get(pk = obj_id)
|
||||
obj_id = params.pop('id')
|
||||
|
@ -70,6 +72,7 @@ class PersonneManager(models.Manager):
|
|||
obj.save()
|
||||
except models.ObjectDoesNotExist:
|
||||
self.create(**params)
|
||||
self.exclude(id__in=ids).delete()
|
||||
|
||||
class FamilleManager(models.Manager):
|
||||
|
||||
|
@ -100,6 +103,7 @@ class FamilleManager(models.Manager):
|
|||
csv_reader = reader(source, delimiter = ';')
|
||||
caption = csv_reader.next()
|
||||
attrs = map(lambda e: self.attribute_mappings[e], caption)
|
||||
ids = ()
|
||||
|
||||
for row in csv_reader:
|
||||
params = dict(zip(attrs, row))
|
||||
|
@ -114,6 +118,7 @@ class FamilleManager(models.Manager):
|
|||
try:
|
||||
obj = self.get(pk = obj_id)
|
||||
obj_id = params.pop('id')
|
||||
ids += (obj_id, )
|
||||
updated = False
|
||||
for attr, value in params.iteritems():
|
||||
if getattr(obj, attr) != value:
|
||||
|
@ -139,6 +144,7 @@ class FamilleManager(models.Manager):
|
|||
personne = member)
|
||||
except:
|
||||
pass
|
||||
self.exclude(id__in=ids).delete()
|
||||
|
||||
class FactureManager(models.Manager):
|
||||
|
||||
|
@ -166,6 +172,7 @@ class FactureManager(models.Manager):
|
|||
csv_reader = reader(source, delimiter = ';')
|
||||
caption = csv_reader.next()
|
||||
attrs = map(lambda e: self.attribute_mappings[e], caption)
|
||||
ids = ()
|
||||
|
||||
for row in csv_reader:
|
||||
params = dict(zip(attrs, row))
|
||||
|
@ -184,7 +191,7 @@ class FactureManager(models.Manager):
|
|||
|
||||
try:
|
||||
obj = self.get(pk = params['id'])
|
||||
params.pop('id')
|
||||
ids += (params.pop('id'), )
|
||||
updated = False
|
||||
for attr, value in params.iteritems():
|
||||
if getattr(obj, attr) != value:
|
||||
|
@ -194,6 +201,7 @@ class FactureManager(models.Manager):
|
|||
obj.save()
|
||||
except models.ObjectDoesNotExist:
|
||||
obj = self.create(**params)
|
||||
self.exclude(id__in=ids).delete()
|
||||
|
||||
class KidManager(models.Manager):
|
||||
|
||||
|
@ -212,6 +220,7 @@ class KidManager(models.Manager):
|
|||
csv_reader = reader(source, delimiter = ';')
|
||||
caption = csv_reader.next()
|
||||
attrs = map(lambda e: self.attribute_mappings[e], caption)
|
||||
ids = ()
|
||||
|
||||
for row in csv_reader:
|
||||
params = dict(zip(attrs, row))
|
||||
|
@ -224,6 +233,7 @@ class KidManager(models.Manager):
|
|||
except ValueError:
|
||||
params.pop('date_naissance')
|
||||
obj_id = params['id']
|
||||
ids += (obj_id, )
|
||||
family_id = params.pop('famille')
|
||||
try:
|
||||
family = Famille.objects.get(pk = family_id)
|
||||
|
@ -244,6 +254,7 @@ class KidManager(models.Manager):
|
|||
obj.save()
|
||||
except models.ObjectDoesNotExist:
|
||||
obj = self.create(**params)
|
||||
self.exclude(id__in=ids).delete()
|
||||
|
||||
|
||||
class Personne(models.Model):
|
||||
|
@ -343,11 +354,6 @@ class Facture(models.Model):
|
|||
def __unicode__(self):
|
||||
return 'Facture %s (Famille %s)' % (self.id, self.famille.id)
|
||||
|
||||
# def active(self):
|
||||
# return path.exists(settings.INVOICES_LOCATION_PATTERN.format(invoide_id = self.id))
|
||||
# active.boolean = True
|
||||
|
||||
|
||||
class Enfant(models.Model):
|
||||
id = models.AutoField(primary_key = True)
|
||||
famille = models.ForeignKey(Famille)
|
||||
|
|
Reference in New Issue