4
我正在學習一些Django,遇到了一個小問題。如何在Django中默認IntegerField
我正在尋找一種方法,使得suit_length默認等於客戶的身高。這種代碼工作對我來說:
class Customer(models.Model):
name = models.CharField(max_length=20)
height = models.IntegerField(default=170)
class Suit(models.Model)
customer = models.ForeignKey(Customer)
suit_design = models.CharField(max_length=100)
suit_length = models.IntegerField(default=0)
def get_height(self):
self.suit_length = self.customer.height
return
但每次我創建一個新的適應其默認suit_length = 0,我要運行get_height()來得到我想要的東西。有沒有辦法將default_length默認爲customer.height,並且爲了避免每次創建新的Suit時運行get_height()?我可能正在尋找像這樣的水漬:
class Customer(models.Model):
name = models.CharField(max_length=20)
height = models.IntegerField(default=170)
class Suit(models.Model)
customer = models.ForeignKey(Customer)
suit_design = models.CharField(max_length=500)
suit_length = models.IntegerField(default=lambda:self.customer.height)
但是,這段代碼不起作用。
只要你的顧客默認身高是170,爲什麼不穿西服_Lenght 170呢? –
好點,但讓我們假裝沒有默認高度。 – BasiL