Мне сложно сформулировать этот вопрос, поэтому я постараюсь показать, что я имею в виду.
У меня есть свойство
def count_tax_rate(self):
if self.deposit_value > 100:
Deposits.objects.update(tax_rate=self.tax_rate+10)
return self.tax_rate + 10
count_tax_rate.short_description = "Tax rate"
tax_rate_property = property(count_tax_rate)
Затем я подключаю это свойство к своему admin.ModelAdmin form.
class DepositAdmin(admin.ModelAdmin):
readonly_fields = ('temporary_deposit_income', 'temporary_total_income', 'tax_rate_property',
'deposit_creating_date', 'deposit_end_date')
form = DepositForm
И в моей панели администратора это дает мне
Tax rate = 10
Но мне нужно вычислить и показать более одной переменной в моей панели администратора.
Я попытался переписать свою функцию свойства
def count_tax_rate(self):
if self.deposit_value > 100:
Deposits.objects.update(tax_rate=self.tax_rate+10, total_income=self.deposit_value+100)
return self.tax_rate + 10, self.deposit_value + 100
count_tax_rate.short_description = "Tax rate"
tax_rate_property = property(count_tax_rate)
Но это дает мне это
Tax rate = (Decimal('10.00'), 200)
Я понимаю, что так работает свойство.
Есть ли способ получить несколько значений из одной функции свойств, или мне нужно искать совершенно другое решение?
PS. Мне нужны эти значения отдельно, поэтому я могу использовать их как разные поля в readonly_fields.