Пытаясь разделить модель в уже работающем приложении, я использовал свойство и установщики, чтобы предотвратить потенциально сотни обновлений в базе кода.
Настройка модели:
class A(models.Model):
name = models.CharField()
type = models.CharField()
spec = models.SmallIntergerField()
@property
def salary(self):
self.b.salary
@salary.setter
def salary(self, value):
self.b.salary = value
self.b.save()
class B(models.Model):
a = models.OneToOneField(A)
salary = model.IntergerField()
height = model.IntergerField()
Использование модели
model_a = A(salary=129980, height=6.00, type="several types")
model_a.save()
Снова я использую свойство и установщики, чтобы избежать изменения запросов в старых файлах миграции и некоторых других местах, где запрос происходит в коде.
Вопрос:
Использует ли свойство / установщики таким образом непреднамеренное количество запросов при вызове свойств модели A? Т.е. есть ли у этого минусы?
Есть ли лучший способ сделать это?
Использование: Django 1.11