Заполнение моей базы данных по ходу дела данными из API - Django Prject
Я хотел бы заполнять свою базу данных по мере продвижения данными из API, который я использую и который отправляет мне данные пользователей.
Здесь, когда пользователь уже существует и мы просто изменяем его информацию на уровне API, то я хотел бы просто применить изменение информации, чтобы не дублировать пользователя, а если он не существует в моей базе данных, то я создам его. Но каждый раз, когда я вызываю API, если пользователь уже существовал в моей базе данных, он создает его снова (дубликат), и я не хочу, чтобы эта сторона
Обратите внимание, что я получаю данные пользователя в виде словаря
Пожалуйста, где проблема
views.py
from .models import Utilisateur
url='http://userAPI/Users/GetUsers'
y=requests.get(url)
users=y.json()
all_users=users['user']
for one_user in all_users:
user=Utilisateur(name=one_user['name'],adresse=one_user['adresse'],code=one_user['code'])
user.save()
models.py
from django.db import models
class Utilisateur(models.Model):
name=models.CharField(max_length=100)
adresse=models.CharField(max_length=255,blank=True,null=True)
code=models.CharField(max_length=10)
Вы используете уникальное поле, например name, и используете его в вызове get_or_create
:
for one_user in all_users:
user = Utilisateur.objects.get_or_create(name=one_user['name'])
user.adresse=one_user['adresse']
user.code=one_user['code']
user.save()