İçindekiler
Model ve onunla ilgili her şey oluşturulduktan sonra, dikkate alınması gereken bir sonraki husus, farklı alanların veritabanı ile nasıl etkileşime girdiğidir.Veritabanının davranışından bahsederken, verilerin saklanmaya nasıl hazırlandığını görmemiz gereken yola, veri türleri ile karşılaştırmalar yapmamıza atıfta bulunuruz. piton değerlerinin uygulamamızda temsil edildiği Django.
db_type (kendi kendine, bağlantı)
Bu yöntem, uygulama sınıfları ve alt sınıfları tarafından nadiren geçersiz kılınır, belirli alanların sütunlarının nasıl oluşturulduğunu kontrol eden belirli veritabanı verilerini içeren bir dize döndürür.
Bu yöntemle döndürülen değerin, arka uç uygulamada kullanılan veritabanı, bu nedenle farklı veritabanı arka uçlarına sahip projelerde kullanmaya karar verirsek, bağlantı değerini kullanarak bağlantının değerini elde etmeliyiz. bağlantı.settings_dict ['MOTOR']
Bu yöntemin temel kullanımını koda nasıl çevirebileceğimizi aşağıdaki resimde görelim:
get_prep_value (öz, değer)
Bu, verileri veritabanı tarafından kullanılmak üzere hazırlaması gereken diğer yöntemler için temel teşkil eden bir yöntemdir.
Çoğu durumda, dönüştürülmesi piton nesneleri veritabanına aktarılabilen daha basit verilere büyük bir sorun oluşturmaz ve standart dönüştürmeyi kullanabiliriz, ancak tarih türü gibi daha karmaşık dönüştürmeler yapmak istediğimizde bu işi halletmek için bu yöntemi kullanabiliriz, Aşağıdaki grafikte, tarif ettiğimiz bunu başarmanın bir yolu var.
get_db_prep_value (öz, değer, bağlantı, hazırlanmış = Yanlış)
Uygulamamızın birden fazla veritabanı motorunda çalıştığı durumlar vardır, bunun için bu yöntem, verileri motor bazında hazırlamamızı sağlar. bağlantı.settings_dict ['MOTOR'] motora bağlı olarak farklı durumları dahil edebiliriz.
Bir örnek, postgreSQL ile çalıştığımızda, bu motor doğrudan tarih nesnelerini işleyebilir, bu yüzden eğer onun olduğunu tespit edersek, değeri doğrudan iletebiliriz, aşağıdaki örnekte bu yöntemi ve bir öncekini nasıl birleştirdiğimizi görelim. daha sağlam bir sonuç elde etmek: