DRF模型中要保存在PostgreSQL中的项数未知



我正在构建一个API,从Trello中提取数据并将其发布到我们的网站。为了保存我的板、列表和卡片,我制作了3个不同的模型类,nameid都定义为Charfield,但我想得到用户的清单,每个用户的项目数量不同。

?如何创建一个可以接收用户想要创建的主题的模型?

首先,Django中有一些解决方案,比如:VectorFields、JSONFields等。但我很少推荐这种解决方案。

在我的例子中,我使用的是这两个类之间的ManyToMany关系。

假设是这样。

from django.db import models

class CheckList(models.Model):
item_name = models.TextField()
...

class TrelloCard(models.Model):
name = TextField()
...
check_list = models.ManyToManyField(CheckList, null=True, blank=True, on_delete=models.PROTECT)
...

在JSON中,此关系将显示为:

{
id:
name:
...
check_list: [
id:
item_name:
...   
]
}

此外,这个解决方案将非常适合与整个django-rest框架一起工作,比如串行器、过滤器、视图等。

最新更新