Отображение / тестирование выходных данных корректно. Проверка работоспособности

#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. Не все мы. Рад помочь!