Django项目中利用DNA信息CSV作为数据库的有效途径
我正在考虑以下Django项目的设计。 在这个项目中,我有一个CSV文件(4列,500行),我不知道如何将其作为数据库处理。 数据包含500个代码,其中每个代码有3个分数:f1、f2、f3。 网站目标:1。获取用户对哪些要素列数据感兴趣以及数据的顺序的输入。 e、 g:2Xf21Xf1(只有3个要素列:f1、f2、f3和“代码”列) 2.生成代码输出,其中包含按要求顺序排列的所需功能的最高等级代码 因此,对于我们的输入:2Xf21Xf1 输出将是以下字符串:Django项目中利用DNA信息CSV作为数据库的有效途径,django,django-models,Django,Django Models,我正在考虑以下Django项目的设计。 在这个项目中,我有一个CSV文件(4列,500行),我不知道如何将其作为数据库处理。 数据包含500个代码,其中每个代码有3个分数:f1、f2、f3。 网站目标:1。获取用户对哪些要素列数据感兴趣以及数据的顺序的输入。 e、 g:2Xf21Xf1(只有3个要素列:f1、f2、f3和“代码”列) 2.生成代码输出,其中包含按要求顺序排列的所需功能的最高等级代码 因此,对于我们的输入:2Xf21Xf1 输出将是以下字符串:[#1排名代码f2列][#2排名代码f
[#1排名代码f2列][#2排名代码f2列][#1排名代码f1列]
我正在考虑创建一个包含3列的数据库:f1、f2、f3,其中每列中都有降序的代码,因此如果用户想要f1中的5个代码,我将使用前5个
我的问题是:
如何以一种简单的方式处理数据库,以便正确使用Django工具来开发和维护它(而不是寻找效率)
我的第一个方向是使用MySql和django模型来映射数据。
我将非常感谢任何关于学习Django的想法或提示,因为我正在使用的官方文档提供了“pool”网站的示例,这不是我所需要的
谢谢 以下是我如何设计模型,因为我了解您的问题
class Field(models.Model):
# This model represents each of the individual fX fields, so f1, f2, f3
name = models.CharField(max_length=15, unique=True)
class Code(models.Model):
# This model represents the values in the first column, code.
name = models.CharField(max_length=255, unique=True)
class FieldData(models.Model):
code = models.ForeignKey(Code, on_delete=models.CASCADE)
field = models.ForeignKey(Field, on_delete=models.CASCADE)
value = models.IntegerField()
class Meta:
unique_together = [('code', 'field')]
然后,当您处理CSV时,您会:
- 阅读标题行并使用
Field.objects。为代码后面的每一列获取或创建
- 阅读正文,为行中的每个字段列创建
实例和code
实例FieldData
如果您需要FieldData实例的历史记录,则必须更改模型设计。以下是我如何设计模型,因为我了解您的问题
class Field(models.Model):
# This model represents each of the individual fX fields, so f1, f2, f3
name = models.CharField(max_length=15, unique=True)
class Code(models.Model):
# This model represents the values in the first column, code.
name = models.CharField(max_length=255, unique=True)
class FieldData(models.Model):
code = models.ForeignKey(Code, on_delete=models.CASCADE)
field = models.ForeignKey(Field, on_delete=models.CASCADE)
value = models.IntegerField()
class Meta:
unique_together = [('code', 'field')]
然后,当您处理CSV时,您会:
- 阅读标题行并使用
Field.objects。为代码后面的每一列获取或创建
- 阅读正文,为行中的每个字段列创建
实例和code
实例FieldData