pl:python:importmdb2models
Różnice
Różnice między wybraną wersją a wersją aktualną.
| Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
| pl:python:importmdb2models [2023/12/12 13:24] – [Przykład importu utworów do modelu Song] sindap | pl:python:importmdb2models [2023/12/12 13:55] (aktualna) – [Przykład importu utworów do modelu Song] sindap | ||
|---|---|---|---|
| Linia 1: | Linia 1: | ||
| ====== Import danych z bazy MS Access ====== | ====== Import danych z bazy MS Access ====== | ||
| + | |||
| + | ===== Wstęp ===== | ||
| Przeniesienie danych z bazy danych Microsoft Access do aplikacji Django może być zrealizowane poprzez kilka kroków. Oto jedna z najczęściej stosowanych metod: | Przeniesienie danych z bazy danych Microsoft Access do aplikacji Django może być zrealizowane poprzez kilka kroków. Oto jedna z najczęściej stosowanych metod: | ||
| Linia 185: | Linia 187: | ||
| from .verbose_names import verbose_names | from .verbose_names import verbose_names | ||
| from django.core.validators import MinValueValidator, | from django.core.validators import MinValueValidator, | ||
| + | |||
| + | |||
| + | class BaseModel(models.Model): | ||
| + | created_at = models.DateTimeField(default=timezone.now, | ||
| + | modified_at = models.DateTimeField(auto_now=True, | ||
| + | |||
| + | class Meta: | ||
| + | abstract = True | ||
| + | |||
| class Song(BaseModel): | class Song(BaseModel): | ||
| Linia 239: | Linia 250: | ||
| Powyższy plik umieszczamy w katalogu django tam gdzie znajduje się plik '' | Powyższy plik umieszczamy w katalogu django tam gdzie znajduje się plik '' | ||
| - | W katalogu naszej aplikacji tworzymy katalogi managment/ | + | W katalogu naszej aplikacji tworzymy katalogi |
| < | < | ||
| yourproject/ | yourproject/ | ||
| Linia 260: | Linia 272: | ||
| </ | </ | ||
| + | Przykładowy widok pliku '' | ||
| + | |||
| + | <code python importdata.py> | ||
| + | import csv | ||
| + | from django.core.management.base import BaseCommand | ||
| + | from dbcdapp.models import Song | ||
| + | from datetime import timedelta | ||
| + | |||
| + | class Command(BaseCommand): | ||
| + | help = ' | ||
| + | |||
| + | def handle(self, | ||
| + | with open(' | ||
| + | csv_reader = csv.reader(csvfile, | ||
| + | for row in csv_reader: | ||
| + | duration_str = row[2] | ||
| + | duration_parts = duration_str.split(':' | ||
| + | duration = timedelta(hours=int(duration_parts[0]), | ||
| + | | ||
| + | Song.objects.create(song_title=row[0], | ||
| + | self.stdout.write(self.style.SUCCESS(' | ||
| + | </ | ||
| + | |||
| + | Powyższy kod dzieli ciąg '' | ||
| + | |||
| + | Upewnij się, że kolumna '' | ||
| + | |||
| + | Warto też zauważyć, że plik CSV nie zawiera nagłówka kolumn. Pierwsza linia zawiera dane utworu. Natomiast do pul modelu '' | ||
| + | |||
| + | Trzeba również pamiętać, że '' | ||
pl/python/importmdb2models.1702383869.txt.gz · ostatnio zmienione: przez sindap
