Модель CSV для Django для отображения администратора

Я искал и пытался все, но не могу получить мой CSV-файл для заполнения и отображения в Django Admin. Обратите внимание, что все файлы ниже находятся в одном каталоге, включая CSV.

Вот мой models.py

from django.db import models


class Album(models.Model):
    artist = models.CharField(max_length=100)
    album_title = models.CharField(max_length=100)
    genre = models.CharField(max_length=100)
    album_logo = models.CharField(max_length=1000)

    def __str__(self):
        return self.album_title + ' - ' + self.artist

    class Meta:
        verbose_name_plural = 'Album'

и вот мой файл import.py:

import csv
from music.models import Album

with open('names.csv', 'r') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        artist = row['artist']
        album_title = row['album_title']
        genre = row['genre']
        album_logo = row['album_logo']

        new_album = Album(artist=artist, album_title=album_title, genre=genre, album_logo=album_logo)
        new_album.save()

Я запускаю сервер, и у администратора есть таблица и база данных, но она не заполнена данными моего CSV-файла. Любая помощь будет оценена. Спасибо.

1 ответ

Проблема в том, что ваш import.py никогда не выполняется. Я полагаю, это только один раз? Он не должен выполняться каждый раз, когда статистика вашего сервера Django.

Чтобы выполнить свой код, вы можете сделать это из оболочки (см. Этот ответ):

manage.py shell < import.py

Или используйте пользовательскую команду управления.

Другие вопросы по тегам