diff --git a/rowers/models.py b/rowers/models.py index da30197d..04896767 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -53,7 +53,7 @@ if settings.DEBUG or user=='': # model for Power Zone names class PowerZonesField(models.TextField): - __metaclass__ = models.SubfieldBase +# __metaclass__ = models.SubfieldBase def __init__(self, *args, **kwargs): self.token = kwargs.pop('token',',') @@ -65,6 +65,13 @@ class PowerZonesField(models.TextField): return value return value.split(self.token) + def from_db_value(self,value, expression, connection, context): + if value is None: + return value + if isinstance(value, list): + return value + return value.split(self.token) + def get_db_prep_value(self, value, connection, prepared=False): if not value: return assert(isinstance(value, list) or isinstance(value, tuple)) diff --git a/rowers/views.py b/rowers/views.py index 5c8e77c6..76674819 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -4596,11 +4596,15 @@ def rower_edit_view(request,message=""): form = RowerForm(instance=r) powerform = RowerPowerForm(instance=r) powerzonesform = RowerPowerZonesForm(instance=r) + accountform = AccountRowerForm(instance=r) + userform = UserForm(instance=request.user) return render(request, 'rower_form.html', {'form':form, 'powerzonesform':powerzonesform, 'powerform':powerform, 'rower':r, + 'accountform':accountform, + 'userform':userform, 'successmessage':successmessage, }) except Rower.DoesNotExist: @@ -4612,9 +4616,13 @@ def rower_edit_view(request,message=""): #form = RowerForm(instance=r) powerform = RowerPowerForm(instance=r) powerzonesform = RowerPowerZonesForm(instance=r) + userform = UserForm(instance=request.user) + accountform = AccountRowerForm(instance=r) return render(request, 'rower_form.html', {'form':form, 'powerzonesform':powerzonesform, + 'userform':userform, + 'accountform':accountform, 'powerform':powerform, 'rower':r, }) @@ -4654,10 +4662,14 @@ def rower_edit_view(request,message=""): form = RowerForm(instance=r) #powerform = RowerPowerForm(instance=r) powerzonesform = RowerPowerZonesForm(instance=r) + userform = UserForm(instance=request.user) + accountform = AccountRowerForm(instance=r) return render(request, 'rower_form.html', {'form':form, 'powerform':powerform, 'rower':r, + 'userform':userform, + 'accountform':accountform, }) @@ -4689,12 +4701,16 @@ def rower_edit_view(request,message=""): r.save() successmessage = "Your Power Zone data were changed" form = RowerForm(instance=r) + accountform = AccountRowerForm(instance=r) + userform = UserForm(instance=request.user) powerform = RowerPowerForm(instance=r) powerzonesform = RowerPowerZonesForm(instance=r) return render(request, 'rower_form.html', {'form':form, 'powerzonesform':powerzonesform, 'powerform':powerform, + 'userform':userform, + 'accountform':accountform, 'rower':r, 'successmessage':successmessage, })