ArrayField自定义小部件

时间:2016-02-07 18:42:30

标签: django

我有一个简单的模型

...
select saledate as kuupaev,
  format ('"%s"', replace (upper(productname), ' ', '')) as tootjakood, 
  sum(quantity)::int as kogus 
from sales
...

这个模型的问题是,当Django为ArrayField创建小部件时,它会创建一个CharField,我必须在其中输入所有文本。

这是输出:

enter image description here

为了正确创建文本数组,我必须用','来输入文本,而没有像text1,text2,text3这样的空格......这是非常有限和丑陋的。

有没有办法让它可以有一个'+'按钮,以便文本输入可以分成多个InputTexts?

这样的东西
  kuupaev   | /3,2M- | +-3,4%/3MM | O12.3/3MM 
------------+--------+------------+-----------
 2016-01-01 |        |         52 |         2
 2016-01-03 |    246 |            |          
(2 rows)

当按下+时它变为

class Texts(models.Model):
    instructions_top_char
    instructions_top_char = ArrayField(models.CharField(max_length=maxLengthText), default=list, blank=True)

并正确保存2个文本。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以为ArrayField创建自己的窗口小部件。检出Django admin custom ArrayField widget

还存在软件包django-better-admin-arrayfield https://pypi.org/project/django-better-admin-arrayfield/