Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ArrayField中列表的实例是否有效?_Python_Django - Fatal编程技术网

Python ArrayField中列表的实例是否有效?

Python ArrayField中列表的实例是否有效?,python,django,Python,Django,我有一些“捐赠方法”字段的用户帐户。用户可以选择不同的方式接受捐赠。默认情况下,每个用户在数组中都应该有值“cash” donation_methods = ArrayField( models.CharField( max_length=15, choices=DONATION.CHOICES, ), default=list({DONATION.CASH}), ) 因为它是一个实例而不是可调用的,所以这样做是否正确?需要一个可

我有一些“捐赠方法”字段的用户帐户。用户可以选择不同的方式接受捐赠。默认情况下,每个用户在数组中都应该有值“cash”

donation_methods = ArrayField(
        models.CharField(
        max_length=15,
        choices=DONATION.CHOICES,
    ),
    default=list({DONATION.CASH}),
)
因为它是一个实例而不是可调用的,所以这样做是否正确?

需要一个可调用的默认值:

如果您为该字段设置了默认值,请确保它是一个可调用的字段,例如list (对于空默认值)或返回列表的可调用项(例如 功能)

然后可以定义以下函数:

def donation_default():
    return [DONATION.CASH]
然后将字段设置为:

donation_methods = ArrayField(
    models.CharField(
    max_length=15,
    choices=DONATION.CHOICES,
    ),
    default=donation_default,
)

不…,它不是…@VaibhavVishal,但它正在工作,我没有收到错误消息。那为什么还要麻烦问这个问题呢SO@VaibhavVishal因为文档中说应该使用可调用的