Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
4 / 4 / 2
Регистрация: 09.10.2010
Сообщений: 141

Реализовать передачу нескольких значений полей при импорте csv в django-import-export

31.03.2016, 14:14. Показов 1419. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте нужно реализовать импорт cvs для этого использую django-import-export, вот мой код, проблему опишу после
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class Location(models.Model):
    name = models.CharField('russia name', max_length=100)
    #ename = models.CharField('english name', max_length=100)
    iata = models.CharField('iata', max_length=100)
    oon = models.CharField('oon', max_length=100)
    typelocation = models.CharField('typelocation', max_length=100)
    ngrad = models.IntegerField(blank=True, null=True)
    nmin = models.IntegerField(blank=True, null=True)
    wgrad = models.IntegerField(blank=True, null=True)
    wmin = models.IntegerField(blank=True, null=True)
    typetime = models.CharField('typetime', max_length=100)
   
    class Meta:
        abstract = True
 
class City(models.Model):
    name = models.CharField('russia name', max_length=100)
    def __unicode__(self):
        return self.name
 
class Country(models.Model):
    name = models.CharField('russia name', max_length=100)
    continent = models.CharField('continent', max_length=100)
    def __unicode__(self):
        return self.name
 
class Airport(Location):
    city = models.ForeignKey(City, related_name='city',  blank=True, null=True)
    country = models.ForeignKey(Country, related_name='country', blank=True, null=True)
    now = datetime.datetime.now()
    slug = models.CharField(max_length=150,  default=now)
        
 
    def __unicode__(self):
        return self.name
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class PlaceWidget(widgets.ForeignKeyWidget):
    def clean(self, value):
        return self.model.objects.get_or_create(name = value,continent = value )[0]
    
class Cityresources(resources.ModelResource):
    #city = fields.Field(column_name='city', attribute='city', widget=PlaceWidget(City, 'name'))
    country = fields.Field(column_name='country', attribute='country', widget=PlaceWidget(Country, 'name','continent'))
    #continent = fields.Field(column_name='continent', attribute='continent', widget=PlaceWidget(Country, 'continent'))
    name = fields.Field(attribute='name',column_name='name')
    class Meta:     
        model = Airport
        fields = ('name','country','oon','iata','ngrad', 'nmin', 'wgrad', 'wmin', 'typetime')
        export_order = fields
        skip_unchanged = True
        report_skipped = False
 
    def get_instance(self, instance_loader, row):
        # Returning False prevents us from looking in the
        # database for rows that already exist
        return False
 
class AirportAdmin(ImportExportModelAdmin,admin.ModelAdmin):
    resource_class = Cityresources
Нужно сделать импорт в модель со связью, если одно поле заполнить например name то проблем нет, но если два поля то уже не знаю как сделать

Добавлено через 38 секунд
вот класс

Добавлено через 6 минут
вот класс
Python
1
2
3
class PlaceWidget(widgets.ForeignKeyWidget):
    def clean(self, value):
        return self.model.objects.get_or_create(name = value,continent = value )[0]
в данном случае он принимает два аргумента и вставляет в два поля модели FK,но тут одно значение, а значение передается здесь
Python
1
country = fields.Field(column_name='country', attribute='country', widget=PlaceWidget(Country, 'name'))
здесь я беру значение из файла cvs и передаю в обрабатывающий класс, в данном случае name это будет value, но как передать второе value, которое continent, чтото не придумаю, если все разделить то данные в связанном поле будут записываться в одном цикле, но в разные строки.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2016, 14:14
Ответы с готовыми решениями:

Django-import-export id увеличивает +3
Добрый день. Может кто-нибудь сталкивался с проблемой в импорт данных в таблицы через django-import-export. У меня постоянно id...

При импорте товара из csv через Магазин в списке полей отсутствует символьный код
Здравствуйте Пытаюсь импортировать базу товаров из csv файла через Магазин. На этапе сопоставления полей файла и полей базы в...

Ошибка с импортом в Python — cannot import name dataclasses в импорте from pydantic import BaseModel
Полный текст ошибки: File "pydantic\__init__.py", line 2, in init pydantic.init ImportError: cannot import name dataclasses В...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2016, 14:14
Помогаю со студенческими работами здесь

Идентификация товара при импорте wp import и привязка к имени
Добрый день. Ковыряюсь уже неделю, перебрал все варианты, но не получается правильно настроить вариативность товаров при импорте в...

Экспорт данных после обработки в *.csv, используя Export-Csv
Данные находятся в файле sample.csv Команда Import-Csv -Encoding default -Delimiter ";" sample.Csv | ForEach-Object...

Ошибка при импорте CSV в Magmi
Здравствуйте, помогите решить проблему... При импорте CSV Magmi получаю след ошибку SKU GW-A-MSK - 1 SQLSTATE : Числовое значение вне...

Ошибка при импорте csv в базу
phpmyadmin выдает следующее: SQL-запрос: LOAD DATA LOCAL INFILE '/tmp/phpzLZTOI' REPLACE INTO TABLE `biggroup` FIELDS TERMINATED...

Спотыкается на символе при импорте из csv
При импорте в mysql из csv, прерывает каждую строку, когда натыкается на символ градуса. Остальные знаки съедает. csv: dot1,N...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru