#django
#django
Вопрос:
Я все еще изучаю Django и медленно совершенствуюсь, но у меня есть несколько вопросов, у меня есть вся моя модель ниже:
from django.db import models
from datetime import datetime, timedelta
# Create your models here.
year_choice = [
('year1','1-Year'),
('year3','3-Year')
]
weeksinyear = 52
hours = 6.5
current_year = datetime.year
class AdminData(models.Model):
year1 = models.IntegerField()
year3 = models.IntegerField()
@property
def day_rate_year1(self):
return self.year1 / weeksinyear / hours
class Price(models.Model):
name = models.CharField(max_length=100)
contract = models.CharField(max_length=5, choices=year_choice)
start_date = models.DateField(default=datetime.now)
end_date = models.DateField(default=datetime(2021,3,31))
def __str__(self):
return self.name
На данный момент меня больше всего беспокоит попытка понять, правильно ли работает моя функция def day_rate_year1(self):
, может ли кто-нибудь указать мне правильное направление, чтобы понять, как я отображаю это как строковое значение в шаблоне или тестирую в оболочке, чтобы увидеть, соответствует ли значение значениям для year1 игод3 может меняться в зависимости от ввода пользователя.
Я пытаюсь определить дневную ставку, чтобы затем использовать даты начала и окончания и определить количество дней между ними, чтобы рассчитать цену, которая затем отображается пользователю, которая снова может меняться в зависимости от количества дней и типа контракта, который является 3-летним вариантомили вариант на 1 год.
Дайте мне знать, если вам также нужны представления или шаблоны.
Спасибо за помощь!
Ответ №1:
если бы кто-нибудь мог указать мне правильное направление, чтобы понять, как я отображаю это как строковое значение в шаблоне или тестирую в командной строке, чтобы увидеть, проходит ли значение, поскольку значения для year1 и year3 могут меняться в зависимости от ввода пользователя
если вы запустите сеанс оболочки, как показано ниже, вы должны увидеть результат вашего свойства.
python manage.py shell
Ожидаемый результат:
>>> from app_name.models import AdminData
>>> test = AdminData.objects.create(year1=2010, year3=2016)
>>> print(test.day_rate_year1)
5.946745562
>>>
Комментарии:
1. Вау, это было так просто, всегда бывает, что я все переосмысливаю!! Спасибо!
2. Не все мы. Рад помочь!