Django.fun

How to set the value of model fields in Django in a loop

I want to set the values of the fields of a set of models in a loop.

I need to do that because I have data in xml format (one xml file for each record, approx 500,000 file alltogether) that I need to import into a database.

I can retreive the models of my app using

app_models = apps.get_app_config('ctmatcher').get_models()

I can retrieve the fields of each model by using

fields=model._meta.get_fields()

But how can I set the content of individual fields? If you would use the explict name of the model you would do

address_object=Address.objects.create(
        city=address_info['city'],
        state=address_info['state'],
        zip=address_info['zip'],
        country=address_info['country'], 
        facility_id=facility_id
    )

But how can I generate the address_object, if I only have the model object and the field objects in an immutable list ?

Tutorials

Константы Python: Улучшение управляемости вашего кода

Современный Python: начинаем проект с pyenv и poetry

Настройка проекта Python — виртуальные среды и управление пакетами

Использование requests в Python — тайм-ауты, повторы, хуки

Понимание декораторов в Python

ProcessPoolExecutor в Python: полное руководство

map() против submit() с ProcessPoolExecutor в Python

Понимание атрибутов, словарей и слотов в Python

Полное руководство по slice в Python

Выпуск Django 4.0

Безопасное развертывание приложения Django с помощью Gunicorn, Nginx и HTTPS

Автоматический повтор невыполненных задач Celery

Django REST Framework и Elasticsearch

Докеризация Django с помощью Postgres, Gunicorn и Nginx

Асинхронные задачи с Django и Celery

Релизы безопасности Django: 3.2.4, 3.1.12 и 2.2.24

Выпуски исправлений ошибок Django: 3.2.3, 3.1.11 и 2.2.23

Эффективное использование сериализаторов Django REST Framework

Выпуски безопасности Django: 3.2.2, 3.1.10 и 2.2.22

Выпущенные релизы безопасности Django: 3.2.1, 3.1.9 и 2.2.21

View all tutorials →