django models中一些字段的使用

default为一个不可变得值则会在创建时设置为该值,另外这个默认值可以设置为函数,返回一个默认的dict或者set等

def contact_default():
    return {"email": "[email protected]"}

contact_info = JSONField("ContactInfo", default=contact_default)这样才能将默认值设置为dict,而不能直接设置;另外不能用lambdas;对于foreignkey映射到模型实例的字段。默认值是他们引用的字段得知。最后文档中有一句话:当字段是主键时,默认值也会在实例未传入值时设置。

 decimalField

decimalField(max_digits=None,decimal_places=Nome,**options)

max_digits数字的最大位数,decimal_places小数点的位数,max_digits必须大于decimal_places,如:models.DecimalField(...,max_digits=5,decimal_places=2):表示数字最多五位,小数点2位,则整数部分最大三位.(会使用decimalValidator验证输入是否正确,也就是会自动查错),这个字段默认表单控件是numberInput(django规定,可以理解为输入是number类型)

猜你喜欢

转载自blog.csdn.net/qq_36414969/article/details/84727524