Как я могу отобразить активные и неактивные инвестиции на моей приборной панели с помощью django?
В моем шаблоне отображаются только активные инвестиции, несмотря на то, что я хочу показывать как активные, так и неактивные инвестиции. Они не отображаются в шаблоне, когда я устанавливаю is_active в false. Кто-нибудь знает, что я делаю не так?
Прилагается скриншот моей приборной панели, где я намерен показать активные и неактивные инвестиции.
На этом изображении отображаются активные инвестиции при создании.
При изменении is_active = False
не отображаются инвестиции, чего я не хочу. Я хочу, чтобы is_active=False
инвестиции также отображались на приборной панели.
Виды
def create_investment_view(request):
if request.method == 'POST':
basic_investment_form = BasicInvestmentForm(request.POST)
if basic_investment_form.is_valid():
investment = basic_investment_form.save()
investment.basic_interest = investment.basic_deposit_amount * 365 * 0.02/2
investment.basic_investment_return = investment.basic_deposit_amount + investment.basic_interest
investment.basic_investment_return += investment.basic_deposit_amount
investment.plan = "Basic - Daily 2% for 180 Days"
investment.due_date = datetime.now() + timedelta(seconds=5)
investment.is_active = True
investment.save()
print(investment.basic_interest)
print(investment.basic_investment_return)
print(investment.basic_deposit_amount)
messages.success(request, 'your basic investment of {} is successfull '.format(investment.basic_deposit_amount))
else:
messages.success(request, 'your investment is not successfull! Try again.')
else:
basic_investment_form = BasicInvestmentForm()
context = {'basic_investment_form': basic_investment_form}
return render(request, 'create-basic-investment.html', context)
def list_investments(request):
investments = Investment.objects.all()
atleast_one_active=False
atleast_one_inactive=False
for investment in investments:
if investment.is_active:
atleast_one_active=True
else:
atleast_one_inactive=True
context = {
'investments': investments,
}
return render(request, 'list-investments.html', context)
Модель
class Investment(models.Model):
PLAN_CHOICES = (
("Basic - Daily 2% for 180 Days", "Basic - Daily 2% for 180 Days"),
("Premium - Daily 4% for 360 Days", "Premium - Daily 4% for 360 Days"),
)
user = models.ForeignKey(
User, on_delete=models.CASCADE, null=True, blank=True)
plan = models.CharField(max_length=100, choices=PLAN_CHOICES, null=True)
basic_deposit_amount = models.IntegerField(default=0, null=True)
premium_deposit_amount = models.IntegerField(default=0, null=True)
basic_withdraw_amount = models.IntegerField(default=0, null=True, blank=True)
premium_withdraw_amount = models.IntegerField(default=0, null=True, blank=True)
basic_interest = models.IntegerField(default=0, null=True)
premium_interest = models.IntegerField(default=0, null=True)
basic_investment_return = models.IntegerField(default=0, null=True, blank=True)
premium_investment_return = models.IntegerField(default=0, null=True)
basic_balance = models.IntegerField(default=0, null=True, blank=True)
premium_balance = models.IntegerField(default=0, null=True, blank=True)
total_available_balance = models.IntegerField(default=0, null=True, blank=True)
locked_balance = models.IntegerField(default=0, null=True, blank=True)
investment_id = models.CharField(max_length=10, null=True, blank=True)
is_active = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now=True, null=True)
due_date = models.DateTimeField(null=True, blank=True)
def __str__(self):
return str(self.investment_id)
Шаблон