在Django2.0和admin部分的上下文中, 如果数据库后端是PostgreSQL;
是否可以指定" NULL"默认情况下作为字段的列?
例如,
class ChoiceArrayField(ArrayField):
def formfield(self, **kwargs):
defaults = {
'form_class': forms.MultipleChoiceField,
'choices': self.base_field.choices,
}
defaults.update(kwargs)
return super(ArrayField, self).formfield(**defaults)
模型字段是:
capabilities = ChoiceArrayField(base_field=models.CharField(max_length=64, choices=PEER_CAPS, blank=True, null=True), default=list)
其中
PEER_CAPS = (
("", "None"),
("blackholing", "blackholing"),
("irrguard", "irrguard"),
)
现在,默认值是" None",但是它保存了值""
,因为它需要一个可迭代的,所以我不能拥有一个值等于None的变量。这对管理员网络应用程序来说很好。
但是在我将它保存到数据库之前我想将功能设置为NULL或空列表(因为PostgreSQL中的相应表是array
)
这可能吗?
答案 0 :(得分:0)
通过声明两次字段来修复此问题:
(?<=X-FileName:(\n)+$).+(?=Message-ID:)