第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Django 如何使用數(shù)據(jù)遷移填充表?

Django 如何使用數(shù)據(jù)遷移填充表?

動(dòng)漫人物 2022-07-26 09:42:47
我需要填充一個(gè)數(shù)據(jù)庫(kù)表,根據(jù)這篇文章,正確的方法是使用數(shù)據(jù)遷移。我有一個(gè) aux 函數(shù),我們稱之為get_my_values,它返回具有以下形狀的字典字典:{    origin1: { key2: value2, key3: value3, ..., keyN: valueN },    origin2: { key1: value1, key3: value3, ..., keyN: valueN },    ...    originN: { key1: value1, key2: value2, ..., keyN-1: valueN-1 },}例如:{  'ABC': { 'DEF': 1, 'GHI': 2 },  'DEF': { 'ABC': 1, 'GHI': 3 },  'GHI': { 'ABC': 2, 'DEF': 3 },}我要填充的表格具有以下形狀:ORIGIN | 'ABC'  | 'DEF' | 'GHI' | char  |  float | float | float |因此,在這篇文章之后,我創(chuàng)建了以下遷移:from django.db import migrationsfrom myapp.utils import get_my_valuesdef populate_my_table(apps, schema_editor):  Data = apps.get_model('myapp', 'Table')  my_data_dict = get_my_values()  for origin in my_data_dict.keys():    # insert into Data.origin the current origin    # if the Data.origin == Data.column, insert in this column the value 0    # else, insert in each Data.column, the corresponding value from my_data_dict[origin]['column']class Migration(migrations.Migration):    dependencies = [        ('myapp', 'the_table_migration'),    ]    operations = [      migrations.RunPython(populate_my_table),    ]如您所見,我編寫了一個(gè)偽代碼來填充它。但我正在努力真正變成真正的代碼。最后,我期望這樣的記錄:ORIGIN | ABC | DEF | GHI | ABC   | 0.0 | 1.0 | 2.0 | DEF   | 1.0 | 0.0 | 3.0 | GHI   | 2.0 | 3.0 | 0.0 |
查看完整描述

1 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

def populate_my_table(apps, schema_editor):

    Data = apps.get_model('myapp', 'Table')

    my_data_dict = get_my_values()

    for origin, values in my_data_dict.items():

        data = {'origin': origin, origin: 0.0}

        data.update(values)

        Data.objects.create(**data)


查看完整回答
反對(duì) 回復(fù) 2022-07-26
  • 1 回答
  • 0 關(guān)注
  • 66 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)