我想在Django中有一个矩阵模型。为此,我需要某种CommaSeparatedFloatField,Django默认没有(只有CommaSeparatedIntegerField)
经过一些搜索后,我发现我应该将其序列化为JSON。但是,在阅读this教程后,我认为我有以下方式使用Matrix类而不是Row和Member类:
class Matrix(models.Model):
...
class Row(models.Model):
matrix = models.ForeignKey(Question)
class Element(models.Model):
row = models.ForeignKey(Row)
matrix = models.ForeignKey(Matrix)
valut = models.FloatField(default=0)
我认为这应该满足我的需求,但这是一个好习惯吗?或者我应该将输入序列化并将其保存在CharField中?
答案 0 :(得分:2)
我认为更好的方法就是
class Matrix(models.Model):
...
class Cell(models.Model):
matrix = models.ForeignKey(Matrix)
row = models.IntegerField()
col = models.IntegerField()
val = # whatever
它更灵活,您只需使用values()而不是连接表格即可访问列和行。