Я работаю над своим первым приложением Django, и мне нужно взять данные, введенные пользователем в поля моих моделей, вставить их в функцию, которая выполняет вычисления с использованием этих данных, а затем возвращает значение этого вычисления к моей модели, где она затем хранится.
Необязательно, чтобы результат сохранялся в моей базе данных, однако позже мне потребуется использовать полученный результат, чтобы приложение могло определить, какие данные предоставить пользователю.
У меня есть свой модельный класс в models.py:
.
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
age = models.IntegerField(default=18)
gender = models.CharField(max_length=6, choices=gend, default='')
weight = models.IntegerField(default=0)
height = models.IntegerField(default=0)
и моя функция в файле services.py:
def caloriefunction():
weight = Profile.weight
height = Profile.height
age = Profile.age
isMale = Profile.gender
if isMale == "Male":
isMale = True
elif isMale == "Female":
isMale = False
else:
print("Error")
quit()
if isMale:
bmr = 66.5 + (13.75 * weight) + (5 * height) - (6.755 * age)
else:
bmr = 655.1 + (9.6 * weight) + (1.8 * height) - (4.7 * age)
bmr = round(bmr)
return bmr
Как я могу получить полученное значение и затем сохранить его в своей базе данных или сохранить его для использования в другом фрагменте логики?
Будет ли лучше использовать функцию класса в качестве метода?
Извините, если вопрос задают не очень хорошо, я новичок.
Любая помощь, если ценится!