【问题标题】:Fill my database as I go with data from an API - Django Prject使用来自 API 的数据填充我的数据库 - Django 项目
【发布时间】:2022-10-14 23:38:30
【问题描述】:

我想在使用来自我使用的向我发送数据用户的 API 的数据时填充我的数据库。

在这里,当一个用户已经存在并且我们只是在 API 级别修改他的信息时,我只想应用修改的信息而不是重复用户,如果他不存在于我的数据库中,我将创建。 但是每次我调用 API 时,如果用户已经存在于我的数据库中,它会再次创建它(重复)并且我不想要这一面

请注意,我以字典的形式检索用户数据

请问问题出在哪里

视图.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()

模型.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)

【问题讨论】:

    标签: python django


    【解决方案1】:

    你使用一个独特的领域,比如姓名,并在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()
    

    【讨论】:

      猜你喜欢
      • 2015-11-15
      • 2015-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 1970-01-01
      • 2021-11-01
      相关资源
      最近更新 更多