Djangoでデータベースにデータを保存できませんか?

2020-03-26 django python-3.x

これが私のモデルです

class Software(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE)
    tbdy = models.DateField(verbose_name='TBDY',blank=True,default=timezone.now())
    lab_deneyleri = models.DateField(verbose_name='Labratuvar Deneyleri',blank=True,default=timezone.now())
    saha_deneyleri = models.DateField(verbose_name='Saha Deneyleri',blank=True,default=timezone.now())
    deprem_analizi = models.DateField(verbose_name='Deprem Analizi',blank=True,default=timezone.now())
    soil_improvement = models.DateField(verbose_name='Zemin İyileştirme',blank=True,default=timezone.now())
    retaining_structures = models.DateField(verbose_name='İstinat Yapıları',blank=True,default=timezone.now())

    class Meta:
        verbose_name_plural = 'Yazılımlar'

これが私の見解です

    if payment_status == "success":
        if len(Software.objects.filter(user=user)) == 0:
            f = Software(user=user,tbdy = datetime.now())
            f.save()
        purchased_list = Software.objects.get(user=user)
        package_objects = {"tbdy": purchased_list.tbdy,
                           "lab-deneyleri": purchased_list.lab_deneyleri,
                           "saha_deneyleri": purchased_list.saha_deneyleri,
                           "deprem_analizi": purchased_list.deprem_analizi,
                           "soil_improvement": purchased_list.soil_improvement,
                           "retaining_structures": purchased_list.retaining_structures}
        for item in item_list:
            finish_date = datetime.now() + timedelta(days=365)
            package_objects[item.url_name] = finish_date
        package_objects.save()
        return render(request,"user/payment.html",payment_request)

データベースにデータを追加しようとしていますが、データベースを見てもエラーメッセージは表示されませんが、結果が表示されません。そして、私のデータベースにはいくつかのデータがありますが、Software.objects.filter(user = user)は、これらのコードを実行するたびに空のクエリセットを提供します。何が悪いのですか?

Answers

Related