refactor, stage 1
This commit is contained in:
@@ -3631,6 +3631,35 @@ class SyncRecord(models.Model):
|
||||
self.rower = self.workout.user
|
||||
return super(SyncRecord, self).save(*args, **kwargs)
|
||||
|
||||
def create_or_update_syncrecord(rower, workout, **kwargs):
|
||||
records = SyncRecord.objects.filter(workout=workout,rower=rower)
|
||||
if records.count():
|
||||
record = records[0]
|
||||
else:
|
||||
record = SyncRecord(workout=workout, rower=rower)
|
||||
|
||||
try:
|
||||
kwargs.pop('rower')
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
try:
|
||||
kwargs.pop('workout')
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
for field in record._meta.fields:
|
||||
value = kwargs.get(field.name, None)
|
||||
if value:
|
||||
setattr(record, field.name, value)
|
||||
|
||||
try:
|
||||
record.save()
|
||||
except IntegrityError:
|
||||
pass
|
||||
|
||||
return record
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user