0

私は初心者なので、Djangoを使用して最初の本当の問題を抱えています。これを理解することはできません。

私はDjango アダプターを使用しています (他の提案も受け付けていますが、モデルにマップされ、うまく機能します)。とにかく、データをインポートしたいのですが、順序がユーザーによって指定されていることを確認してください。

これは私がこれまでに持っているものです...

Forms.py

このフォームはユーザーに表示され、CSV アップロードでどの列がどのフィールドを表しているかを選択します。

COL_CHOICES = [
    ('NONE', 'No Import'),
    ('first_name', 'First Name'),
    ('last_name', 'Last Name'),
    ('company', 'Company'),
    ('mobile', 'Mobile Number'),
    ('email', 'Email Address'),
    ]


class ConfiguratorForm(forms.Form):
    col1 = forms.TypedChoiceField(choices=COL_CHOICES, initial='first_name')
    col2 = forms.TypedChoiceField(choices=COL_CHOICES, initial='first_name')
    col3 = forms.TypedChoiceField(choices=COL_CHOICES, initial='first_name')
    col4 = forms.TypedChoiceField(choices=COL_CHOICES, initial='first_name')
    col5 = forms.TypedChoiceField(choices=COL_CHOICES, initial='first_name')

私のview.py POSTに戻り、次の...

  if request.method == 'POST':
        form = ConfiguratorForm(data=request.POST)
        # Try and import CSV
        ContactCSVModel.import_data(data=upload.filepath, extra_fields=[
            {'value': upload.group_id, 'position': 5},
            {'value': upload.uploaded_by.id, 'position': 6}])

ここからが本題です。

class ContactCSVModel(CsvModel):


    first_name = CharField()
    last_name = CharField()
    company = CharField()
    mobile = CharField()
    group = DjangoModelField(Group)
    contact_owner = DjangoModelField(User)


    class Meta:
        delimiter = ","
        dbModel = Contact
        update = {'keys': ["mobile", "group"]}

上記のように、現在、ユーザーが指定した順序ではなく、上にリストされている順序でのみ first_name、last_name などと一致します。

これどうやってするの?

4

0 に答える 0