我有一些带有“ donation_methods”字段的用户帐户。用户可以选择不同的方式来接受捐赠。默认情况下,每个用户在数组中都应具有值'cash'
donation_methods = ArrayField(
models.CharField(
max_length=15,
choices=DONATION.CHOICES,
),
default=list({DONATION.CASH}),
)
这是正确的方法吗,因为它是实例而不是可调用的?
最佳答案
ArrayField要求默认可调用:
如果您为该字段提供默认值,请确保该字段是可调用的,例如列表
(默认为空)或返回列表的可调用对象(例如
功能)
然后,您可以定义以下功能:
def donation_default():
return [DONATION.CASH]
然后将您的字段设置为:
donation_methods = ArrayField(
models.CharField(
max_length=15,
choices=DONATION.CHOICES,
),
default=donation_default,
)
关于python - ArrayField中的列表实例有效吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52947363/