当我使用Retrofit进行API调用时,我收到了以下JSON响应。
现在我想将数据映射到模型中。最好的方法是什么?提前谢谢。
编辑:这是真正的JSON响应。
@receiver(post_save, sender=ItemFile)
@receiver(post_save, sender=Image)
def save_file_checksum(sender, instance, **kwargs):
"""
Save a ckecksum for a file.
"""
checksum = get_checksum(instance.file.path)
existing_checksum = instance.checksum.first()
if existing_checksum:
existing_checksum.checksum = checksum
existing_checksum.save()
else:
FileChecksum.objects.create(content_object=instance,
checksum=checksum)
class ItemFile(models.Model):
file = models.FileField(blank=False,
max_length=255,
upload_to=get_item_path,
verbose_name=_("file"))
checksum = GenericRelation(FileChecksum)
class Image(models.Model):
file = models.ImageField(blank=False,
verbose_name=_("Image"),
max_length=255,
upload_to=get_sheet_path)
checksum = GenericRelation(FileChecksum)
class FileChecksum(models.Model):
content_type = models.ForeignKey(ContentType,
on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
checksum = models.CharField(blank=True,
null=False,
max_length=255,
verbose_name=_("checksum"))
def __str__(self):
return "{} {}: {}".format(self.content_type,
self.content_object,
self.checksum)
答案 0 :(得分:0)
为响应创建模型类。使用在线POJO生成器(http://www.jsonschema2pojo.org/).Set生成器选项中的注释样式作为GSON。
将模型类复制到项目中。