我正在尝试将模型实例保存到数据库中,如本文所述:
从Promo
类创建方法:
@classmethod
def create(cls, discount_money):
promo = cls(discount_money=discount_money)
return promo
@staticmethod
def create_promo():
promo = Promo.create(config.SUBSCRIPTION_DISCOUNT)
print promo # => DHLI67LZ80T7AU1O
print promo.discount_money # => 20000
self.create_promo()
但我的数据库中没有任何内容。我错过了什么?
答案 0 :(得分:2)
这两种方法都没有调用save
,因此数据库中不会反映任何内容。
您需要确保至少在其中一种方法中调用save
。可能在create
方法中更有意义。
@classmethod
def create(cls, discount_money):
promo = cls(discount_money=discount_money)
promo.save()
return promo
答案 1 :(得分:1)
正如Django docs中提到的那样:
请注意,实例化模型绝不会触及您的数据库;对于 那,你需要保存()。
因此,您需要在代码中添加promo.save()
:
@classmethod def create(cls, discount_money):
promo = cls(discount_money=discount_money)
promo.save()
return promo