0

フォームを送信すると、IntegrityError (1048, "Column 'paid_on' cannot be null").

いくつかの調査の後null=True, blank=True、models.py のアイテムの定義に含めることで多くの人が同様の問題を解決していることを発見しましたが、これを「paid_on」モデルに追加しても問題は解決しませんでした。

これが私のmodels.pyのクラスです:

class Payment(models.Model):
  ad = models.ForeignKey(Ad)
  paid = models.BooleanField(default=False)
  paid_on = models.DateTimeField('Payment', null=True, blank=True)
  amount = models.DecimalField(max_digits=9,decimal_places=2)
  pricing = models.ForeignKey(Pricing)
  options = models.ManyToManyField(PricingOptions)

  def complete(self, amount=0.0):
    # clear payment
    if self.amount != amount:
        return False

    self.paid = True
    self.paid_on = datetime.datetime.now()
    self.save()

    # update ad
    self.ad.expires_on += datetime.timedelta(days=payment.pricing.length)
    self.ad.created_on = datetime.datetime.now()
    self.ad.active = True
    self.ad.save()

ご意見ありがとうございます。

4

1 に答える 1

1

データベースにはまだ制限があるため、これをモデルに追加するだけでは役に立ちません。移行を行う必要がある場合 (models.py の一部を変更すると、データベースが変更されるはずです) 、Django の移行をサポートするsouthを参照してください。

于 2012-05-13T21:59:12.703 に答える