亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在導入功能中更新或創建

在導入功能中更新或創建

慕田峪9158850 2023-03-08 15:35:35
我正在以 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的文檔

update_or_create 方法嘗試根據給定的 kwargs 從數據庫中獲取對象。如果找到匹配項,它會更新默認字典中傳遞的字段。


obj, created = Person.objects.update_or_create(
    first_name='John', last_name='Lennon',
    defaults={'first_name': 'Bob'},
)

您應該相應地編輯默認值


查看完整回答
反對 回復 2023-03-08
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號