Bugfix: Reload version attr in OCC
parent
077de2bf4e
commit
e2b8687980
|
@ -27,3 +27,13 @@ def get_typename_for_model_class(model:object, for_concrete_model=True) -> str:
|
|||
model = model._meta.proxy_for_model
|
||||
|
||||
return "{0}.{1}".format(model._meta.app_label, model._meta.model_name)
|
||||
|
||||
|
||||
def reload_attribute(model_instance, attr_name):
|
||||
"""Fetch the stored value of a model instance attribute.
|
||||
|
||||
:param model_instance: Model instance.
|
||||
:param attr_name: Attribute name to fetch.
|
||||
"""
|
||||
qs = type(model_instance).objects.filter(id=model_instance.id)
|
||||
return qs.values_list(attr_name, flat=True)[0]
|
||||
|
|
|
@ -18,6 +18,7 @@ from django.db import models
|
|||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from taiga.base import exceptions as exc
|
||||
from taiga.base.utils import db
|
||||
|
||||
|
||||
class OCCResourceMixin(object):
|
||||
|
@ -37,6 +38,11 @@ class OCCResourceMixin(object):
|
|||
|
||||
super().pre_save(obj)
|
||||
|
||||
def post_save(self, obj, created=False):
|
||||
super().post_save(obj, created)
|
||||
if not created:
|
||||
obj.version = db.reload_attribute(obj, 'version')
|
||||
|
||||
|
||||
class OCCModelMixin(models.Model):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue