Как сделать bulk_create в DRF Serializer для разделения экземпляров django

Я получаю массив урлов и цель состоит в том, чтобы записать каждый урл как отдельный экземпляр модели с другими постоянными параметрами, одинаковыми для всех урлов

модель django:

class BlockedUrl(models.Model):
    url = models.URLField()
    date_add = models.DateField(auto_now_add=True)
   

    class Meta:
        app_label = 'main'
        db_table = 'blocked_url'
        ordering = ['-date_add']

django view:

from main.models import BlockedUrl
from api.serializers import BlockedUrlSerializer


class BlockedUrlsViewSet(GenericViewSet, CreateModelMixin):
 
    queryset = BlockedUrl.objects.all()
    serializer_class = BlockedUrlSerializer
    permission_classes = (AllowAny,)

django serializer:

class BlockedUrlSerializer(Serializer):
    urls = ListField(child=URLField(), min_length=1, max_length=1024)


    # create - to do (iter the list of urls and insert separately into model with one transaction)

    def create(self, validated_data):
        crawler = validated_data['crawler']
    
        blocked_urls = [BlockedUrl(url=url) for url in validated_data['urls']]
        return BlockedUrl.objects.bulk_create(blocked_urls)

    # update - raise not implemented error
    def update(self, instance, validated_data):
        raise NotImplementedError

но это не работает, так как я получаю AttributeError: 'list' object has no attribute 'urls'

Вернуться на верх