【问题标题】:Assign field from related model as default in another model将相关模型中的字段分配为另一个模型中的默认值
【发布时间】:2017-02-09 19:07:26
【问题描述】:

如何将 current_amount 的默认值指定为 minimum_price?

class Auction(models.Model):
    minimum_price = models.PositiveIntegerField()
    .....

class Bid(models.Model):
    product = models.ForeignKey(Auction, related_name='auction')
    # i want to set this field's default to value of minimum_price from Auction model
    current_amount = models.PositiveIntegerField(default=product__minimum_price)
    #also tried default=product.minimum_price

我怎样才能做到这一点?

【问题讨论】:

    标签: python django database sqlite django-models


    【解决方案1】:

    一个解决方案是

    class Bid(models.Model):
        product = models.ForeignKey(Auction, related_name='auction')
        current_amount = models.PositiveIntegerField()
    
        def save(self, *args, **kwargs):
            if not self.current_amount:
                self.current_amount = self.product.minimum_price
            super(Bid, self).save(*args, **kwargs)
    

    【讨论】:

      猜你喜欢
      • 2016-01-02
      • 1970-01-01
      • 2011-05-21
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 2020-05-14
      • 2016-04-19
      • 2012-08-09
      相关资源
      最近更新 更多