我有一些带有“ donation_methods”字段的用户帐户。用户可以选择不同的方式来接受捐赠。默认情况下,每个用户数组中的值都应为'cash'
donation_methods = ArrayField(
models.CharField(
max_length=15,
choices=DONATION.CHOICES,
),
default=list({DONATION.CASH}),
)
这是正确的方法吗,因为它是实例而不是可调用的?
答案 0 :(得分:1)
ArrayField需要可调用的默认:
如果您将字段设为默认值,请确保该字段是可调用的,例如列表 (默认为空)或返回列表的可调用对象(例如 功能)
然后您可以定义以下功能:
def donation_default():
return [DONATION.CASH]
然后将您的字段设置为:
donation_methods = ArrayField(
models.CharField(
max_length=15,
choices=DONATION.CHOICES,
),
default=donation_default,
)