我正在以 json 格式数据从外部源导入数据。我在 Person 模型中获取和保存数据,我想更新已经存在的模型,所以我使用 update_or_create 方法但在导入期间我收到错误: django.db.utils.IntegrityError: UNIQUE constraint failed: managment_person.person_id。person_id必须是独一无二的。模范人物class Person(models.Model): person_id = models.PositiveIntegerField(unique=True) code = models.CharField(max_length=255) name = models.CharField(max_length=255) def __str__(self): return self.name这是为 Person 模型导入数据的函数: def get_persons(self): r = requests.get('https://path_to_data_in_json') for obj in r.json()['data']: person, created = Person.objects.update_or_create(person_id=obj['id'], code=obj['code'], name=obj['name'])
1 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
update_or_create 方法尝试根据给定的 kwargs 从数据库中获取对象。如果找到匹配项,它会更新默认字典中传递的字段。
obj, created = Person.objects.update_or_create(
first_name='John', last_name='Lennon',
defaults={'first_name': 'Bob'},
)您应该相应地编辑默认值
添加回答
举报
0/150
提交
取消
