如何在rest框架中使用ArrayField和ImageField

时间:2018-04-29 12:04:11

标签: django django-rest-framework

我有一个每个对象的图像列表,但不能使用它。

模特:

from django.contrib.postgres.fields import ArrayField

class MyModel(models.Model):
    national_card = ArrayField(
        models.ImageField(upload_to=directory_path), blank=True, null=True,
)

串行器:

class MyModelSerializer(serializer.ModelSerializer):
    class Meta:
        model = MyModel
        fields = '__all__'

数据库(national_card列):

{
    orders/2d4ba9ff-44af-44e9-9203-a0aad5a3c7ec/380cbbf0-1b73-4e36-996d-015c81dbaa71.jpg,
    orders/2d4ba9ff-44af-44e9-9203-a0aad5a3c7ec/380cbbf0-1b73-4e36-996d-015c81dbaa71.jpg
}

序列化器的结果:

{
    "national_card": [
         null, null
     ]
}

1 个答案:

答案 0 :(得分:1)

ArrayFieldFileFieldImageField,...)不兼容。并且无法正常工作。 (无法将文件复制到upload_to

https://code.djangoproject.com/ticket/25756

但是,

{
    "national_card": [
        null, null
    ]
}

此输出与它无关!但是因为多重继承。其中一个对它有不良影响。