Dumpdata ve loaddata kullanm
Dumpdata Ve Loaddata Kullanımı¶
Dumpdata¶
Dumdata django’da varsayılan komutlar arasında bulunan ve python manage.py
şeklinde erişebileceğimiz bir komuttur amacı ise belirlenen format ile veri tabanınızın
yedeğini \( fixture \) sını almaktır eğer isterseniz bu aldığınız yedeği loaddata
komutunu kullanarak yeni açmış olduğunuz veri tabanınıza yazabilirsiniz, dumpdata
komutunun kodlarını merak edenler vermiş olduğum linki tıklayarak inceleyebilir 1.elden
daha detaylı bilgiye ulaşabilir
dumpdata.py
Kullanımı¶
python manage.py dumpdata [app_label[.ModelName] [app_label[.ModelName] ...]] şeklinde
genel bir kullanımı vardır
Parametreler¶
--all -abu parametreler kullanıldığında django temel yöneticisini kullanarak bütün
modelleri depolar--format FORMATformat parametresi ile depolanma sırasında hangi formatı kullanması
gerektiğini girebiliriz varsayılan format json olup
üç tane
format çeşidi var bunlar xlm, json, yaml--indent INDENTÇıktının serileştirme \( Serialization \)biçimini belirtir.
Varsayılan olarak JSON. Desteklenen formatlar, Seri hale getirme formatlarında
listelenir.--exclude EXCLUDE, -e EXCLUDEYedek alma sırasında, bazı yerleri yedek almak
istemeyebiliriz bu parametre bu işlem için var--database DATABASEBirden fazla veri tabanı kullananların imdadına yetişen bir
parametre olup hangi veri tabanını kullanarak yedek alması gerektiğini belirtiriz
varsayılan olarak default veri tabanını alır--natural-foreignHerhangi bir yabancı anahtarı \(foreign key\) ve yöntemi
tanımlayan türdeki nesnelerle çoktan çoğa ilişkiyi \(many-to-many\) serileştirmek
\(serialize\) içinnatural_key()model yöntemini kullanır. Eğer contrib.auth İzin
nesnesini veya contrib.contenttypes ContentType nesnelerini damping ediyorsanız,
muhtemelen bu bayrağı kullanmalısınız. Bu ve bir sonraki seçenek hakkında daha fazla
ayrıntı için
doğal anahtarların
belgelerine bakın.--natural-primarySerileştirme sırasında hesaplanabildiğinden, bu nesnenin
serileştirilmiş verilerindeki birincil anahtarı çıkarır.--pks PRIMARY_KEYSYalnızca virgülle ayrılmış birincil anahtarlar \(primary keys\)
listesi tarafından belirtilen nesneleri çıkarır. Bu, yalnızca bir model dökülürken
\(dumping\) kullanılabilir. Varsayılan olarak, modelin tüm kayıtları çıktıdır.--output OUTPUT, -o OUTPUTSerileştirilmiş verileri yazmak için bir dosya belirtir.
Varsayılan olarak, veriler standart çıktıya gider.> output.jsongibi de
kullanılabilir
Örnek Kullanım¶
python manage.py dumpdata output.json --format json --database defaultModel ismi
belirtmeden, bundan dolayı seçilen veri tabanını tamamen alırpython manage.py dumpdata auth output.json --format json --database defaultSadece
auth modelini alırpython manage.py dumpdata auth.user output.json --format json --database default
Sadece auth modelindeki user bölümünü alırpython manage.py dumpdata --exclude admin output.json --format json --database default
admin harici bütün verileri alırpython manage.py dumpdata mymodel output.json --format json --database myseconddb
Kullanmakta olduğum ikinici veri tabanı olan myseconddb isimli veri tabanımda bulunan
mymodel adındaki verileri alır
Uyarı¶
Dumdata komutu sırasında RelatedObjectDoesNotExist bu hatayı alırsanız bu adrese bir
göz atın
https://code.djangoproject.com/ticket/28972
ve python manage.py dumpdata -o output.json --format json şekinde kullanın sorun
çözülecektir.
Loaddata¶
Loaddata komutu dumpdata ile oluşturduğumuz veriyi tekrar yeni oluşturduğumuz verii
tabanına yüklememizi sağlar, loaddata’nın kodlarının adresi
loaddata.py
Kullanımı¶
Genel kullanım python manage.py loaddata fixture [fixture ...] burdaki fixture
dumpdata ile oluşturduğumuz dosyadır
Parametreleri¶
--database DATABASEyukarıdaki gibi veri tabanı seçebiliyoruz varsayılan olarak
defaultveri tabanı ayarlanmıştır--ignorenonexistent, -ialan ve modelleri görmezden \(field and model\)
getirtebiliyoruz--app APP_LABELBelirli bir app \( uygulamamızın \) yüklenmesini sağlayabiliyoruz--format FORMATDumpdata sonucu oluşturduğumuz dosya formatını giriyoruz--exclude EXCLUDE, -e EXCLUDEYine aynı amaç için yükleme esnasında uygulama veya
model dışlamak için kullanılıyor
Örnek Kullanım¶
python manage.py loaddata mydata.json --format jsonpython manage.py loaddata mydata.json --database mydbpython manage.py loaddata mydata.json --format xml --database defaultpython manage.py loaddata mydata.json --exclude auth --database default