Python Django:如何为矩形建模?

Python Django:如何为矩形建模?,python,django,django-models,django-rest-framework,Python,Django,Django Models,Django Rest Framework,我试图用Django作为后端绘制一个矩形,用React作为前端。一些第三方将用JSON格式的4个坐标点(x,y)点击我的API,然后我通过React来画线。我应该保留一个名为矩形的模型,其中包含8个字段{(x1,y1),(x2,y2),(x3,y3),(x4,y4)},还是应该保留如下两个模型: class Rectangle(models.Model): name = models.CharField(max_length=10) def __str__(self):

我试图用Django作为后端绘制一个矩形,用React作为前端。一些第三方将用JSON格式的4个坐标点(x,y)点击我的API,然后我通过React来画线。我应该保留一个名为矩形的模型,其中包含8个字段{(x1,y1),(x2,y2),(x3,y3),(x4,y4)},还是应该保留如下两个模型:

class Rectangle(models.Model):
   name = models.CharField(max_length=10)
   def __str__(self):
      return self.name

class Point(models.Model):
   rectangle = models.ForeignKey(Rectangle, on_delete = models.CASCADE)
   x1 = models.FloatField()
   y1 = models.FloatField()
   def __str__(self):
      return '{} , {}'.format(self.x1, self.y1, self.x2, self.y2)

如果我保留两个模型,那么编写序列化程序和基于类的视图来处理提供的数据将变得有点复杂。我该怎么办?有什么建议吗?

我绝对建议使用一个简单的模型。如果您没有构建一个新的矩形引擎或复杂的东西,这就足够了


正如@BasicWolf在评论中所说的,您甚至可以考虑将点放在一个字段中作为JSON,或者更简单的逗号分隔(前提是您不需要查询点)。然后在检索点时,只需使用split提取对并通过API返回。

我绝对建议使用一个简单的模型。如果您没有构建一个新的矩形引擎或复杂的东西,这就足够了


正如@BasicWolf在评论中所说的,您甚至可以考虑将点放在一个字段中作为JSON,或者更简单的逗号分隔(前提是您不需要查询点)。然后在检索点时,只需使用split提取对,并通过API返回。

如果您确定模型将始终有4个点,我建议使用一个模型,包含4个点坐标。通过FK将点模型连接到形状模型的方式也很酷,因为您可以轻松获得所需的任意多的点。您是否打算以某种方式对点数据进行索引?或者做任何空间查询?如果不是,所有内容都可以简单地存储为JSON数据。将点存储到单个表中是一项开销。感谢您的建议。如果您确定模型始终有4个点,我建议使用一个模型,包含4个点坐标。通过FK将点模型连接到形状模型的方式也很酷,因为您可以轻松获得所需的任意多的点。您是否打算以某种方式对点数据进行索引?或者做任何空间查询?如果不是,所有内容都可以简单地存储为JSON数据。将点存储到单个表是一项开销。谢谢您的建议。。