如何在Django中创建没有预定义属性的模型?

2024-04-27 19:01:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我对标题所说的django模型有点困惑。我在谷歌也找不到任何帖子。你知道吗

让我们以正常的方式说,我们会有这样一个模型:

class something(models.Model):
    fName = models.TextField()
    lName = models.TextField()
    ......
    lastThings = models.TextField()

不过,我不想有这样的模型。我想要一个没有预定义属性的模型。换句话说,我可以把任何东西放进这个模型。我的想法是,我可以使用一个循环或其他一些东西来创建这样的模型吗?你知道吗

class someModel(models.Model):
    for i in numberOfModelField:
        field[j] = i
        j+=1

表A如下:

A  B  C
1  2  3
2  3  4

表B如下:

A B C D E F G G G
1 2 3 4 5 6 7 8 9
...............
4 5 3 2 4 5 6 4 3

所以不同的表格可以被读取

因此,我可以有一个模型,适合在任何情况下。我不确定是否清楚到让你明白我的困惑。谢谢


Tags: django模型标题model属性models方式fname
1条回答
网友
1楼 · 发布于 2024-04-27 19:01:28

扩展我的评论(作为一个答案,这样我可以格式化代码体面)。你知道吗

class something(models.Model):
    sheet_name = models.TextField()
    row = models.TextField()
    col = models.TextField()
    cell_value = models.TextField()

    class Meta:
        unique_together = [[sheet_name, row, col]]

一旦你有了这种格式的值,你就可以随心所欲地使用它们了。如果您知道第一行总是headers,您可以定义一个在sheet\u name和col上键入的header表,并将它们映射到header\u name,或者您可以从这个表中获取它们。你知道吗

可能有更好的方法来处理这个问题,我仍然不确定您的用例。如果这是临时加载数据以在其他进程中使用,那么就可以了。如果要无限期地填充一些新的数据库,那么您需要花费更多的时间来定义实际的表,尽管这个过程可以作为从excel中获取数据的中间暂存区域。你知道吗

相关问题 更多 >