可能有一个很难的问题,在谷歌上找不到任何明显的东西,还在搜索。在任何情况下,我都会尝试构建一个包含大约40个字段的表单。- 20个字段是简单CharText字段- 10个字段是简单DateTime字段- 10个剩余字段是我的两难境地。对于这最后10个字段,我想让正在编译表单的用户,有可能:-决定表的结构(如:3列。'col1‘'col2’'col3‘或5个列,如果他需要的话);-在添加了他需要的列之后,他还可以向先前的表添加新的条目。
我将发布模型基础结构。( '=‘后面的空行表示我不知道如何填充)我需要让用户构建自己的结构。我可以自己构建这些列,但最好让他通过选择自己的结构来创建它们。
class Incarico(models.Model):
#id = models.AutoField(primary_key=True)
nr_sinistro = models.CharField(max_length=50, default=None)
nr_polizza = models.CharField(max_length=50, default=None)
appuntamento_danno = models.CharField(max_length=50, default=None)
note_pubbliche = models.CharField(max_length=50, default=None)
note_private = models.CharField(max_length=50, default=None)
sinistro = models.DateField(default=None)
incarico = models.DateField(default=None)
perizia = models.CharField(max_length=50, default=None)
pl = models.CharField(max_length=50, default=None)
codifiche = models.CharField(max_length=50, default=None)
studio = models.CharField(max_length=50, default=None)
impiegata =
perito = models.CharField(max_length=50, default=None)
perito_date = models.DateField(default=None)
accertatore =
revisore =
contatto = models.CharField(max_length=50, default=None)
contatto_date = models.DateField(default=None)
sopralluogo = models.CharField(max_length=50, default=None)
sopralluogo_date = models.DateField(default=None)
interloc = models.CharField(max_length=50, default=None)
interloc_date = models.DateField(default=None)
evasione = models.CharField(max_length=50, default=None)
evasione_date = models.DateField(default=None)
mandante =
agenzia =
ispettorato =
ramo =
liquidatore =
assicurato =
amministratore =
broker =
danneggiati =
tipologia_sinistro =
data_incarico = models.DateField(default=None)
note = models.CharField(max_length=500, default=None)提前感谢!
发布于 2020-05-28 00:53:27
如果你使用的是Postgresql,你可以创建像Charfield或者JSONField这样的通用字段。然后在构建模型之前和之后,使用这个通用字段创建一个验证器。
例如,您可以创建一个JSONField并保存如下内容:
{
"field": "CharField",
"value": "This is a example text",
}或
{
"field" "DateField",
"value": "MM/DD/YYYY"
}这样,您就可以在运行时使用field的名称创建该字段的实例。
如果您允许用户创建他们自己的定制表,那么您最终将得到许多具有不同模式的表。也许不是个好主意。
https://stackoverflow.com/questions/62048316
复制相似问题