因此,我有一个表示“装配”的模型,其中一个装配可以有任意数量的子装配,对于每个子装配,它指定它包含该子装配的多少个实例。例如,A包含1个B和2个C,而B包含1个D,C不包含任何内容,D不包含任何内容。我在模型中这样表示:
from django.db import models
class Assembly(models.Model):
guid = models.CharField(max_length=40, unique=True, primary_key=True)
subassemblies = models.ManyToManyField('self', blank=True, symmetrical=False,
through='AssemblyLink',
through_fields=('parent', 'child'))
class AssemblyLink(models.Model):
parent = models.ForeignKey(Assembly, on_delete=models.CASCADE, related_name='child_link_set')
child = models.ForeignKey(Assembly, on_delete=models.CASCADE, related_name='parent_link_set')
count = models.PositiveSmallIntegerField() # Small means <32k
这似乎是可行的,但我不知道如何编写序列化程序,以便它可以读取JSON来创建模型,并将模型转换回JSON。我希望能够阅读JSON,它看起来像:
{
"guid": "GUID123",
"subassemblies": [
{"child": "GUID1234", "count": 1}
]
}
尽管这种格式很灵活。现在,我的AssemblySerializer如下所示:
class AssemblySerializer(serializers.ModelSerializer):
subassemblies = ...
class Meta:
model = Assembly
fields = ('guid', 'subassemblies')
我该如何填写。。。为了让这个工作?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐