9 Mart 2014 Pazar

Model Alan Tipleri

Veritabanı Yapılandırması yazısında Model oluştururken bazı alan tiplerini kullanmıştık. Şimdi kullanabileceğimiz tüm alan tiplerinden kısaca bahsedelim.
BigIntegerField
64 bit sayı tutar. IntegerField gibidir. Fakat -9223372036854775808-9223372036854775807 arasında sayı saklayabilir. Formda <input type="text" /> alanı oluştur.
BooleanField
Doğru/Yanlış alanıdır. Formda <input type="checkbox" /> alanı oluşturur. Eğer boş bir doğru/yanlış alanı istersek NullBooleanField kullanabiliriz.
CharField
Metin alanıdır. Formda <input type="text" /> alanı oluşturur. max_lenght parametresi ile girilebilecek maximim karakter sayısı verilebilir. Uzun metinler için TexField kullanılır.
CommaSeparatedIntegerField
Kullanıcan binlik basamakları ayırt etmek için virgül kullanmasını istiyorsak kullanabiliriz. Bu alanda max_lenght parametresi ile uzunluğu belirtilmelidir.
DateField
Python'da ki datetime.date nesnesinin verdiği değer tipinde veri saklamak için kullanılır. Formda <input type="text" /> alanı oluşturur.
DateField.auto_now : Bağlı bulunduğu model nesnesi her kaydedildiğinde o andaki zamanı kaydeder.
DateField.auto_now_add : Bağlı bulunduğu nesne ilk oluşturulduğu andaki zamanı saklamak için kullanılır.
DateTimeField
Python'da ki datetime.datetime nesnesinin verdiği değer tipinde veri saklamak için kullanılır. Formda <input type="text" /> alanı oluşturur. DateFiel ile aynı parametreleri alır.
DecimalFiel
Ondalıklı sayıları saklamak için kullanılır. Formda <input type="text" /> alanı oluşturur. max_digits ve decimal_places parametreleridir.
max_digits : En fazla rakam sayısı.
DateField.auto_now_add : Ondalık kısım miktarı.
models.DecimalField(max_digits=50, decimal_places=10)
EmailField
CharField alanıdır. Doğru bir e-posta girilmesini ister.
FileField
Dosya alanıdır. Formda <input type="file" /> alanı oluşturur. Bu alan upload_to parametresi alır. Bu parametrenin değeri setting.py dosyasında belirtilen MEDIA_ROOT değişkeninde belirtilen patikaya eklenir. Örneğin MEDIA_ROOT = /home/mazlumagar/ ve upload_to='dosyalar' ise dosyanın yüklenme yeri /home/mazlumagar/dosyalar olur.
FloatField
Float tipinde sayıları saklamak için kullanılır. Form'da <input type="text" /> alanı oluşturur.
ImageField
FileField alanı gibidir. Ancak resim dosyaları için kullanılır.
IntegerField
Tam sayı alanıdır. Form'da <input type="text" /> alanı oluşturur.
IPAddressField
IP adresi saklamak için kullanılır. Form'da <input type="text" /> alanı oluşturur.
PositiveIntegerField
Pozitif tam sayı alanıdır. Form'da <input type="text" /> alanı oluşturur.
TextField
Uzun metinler için kullanılır. Form'da <textarea></textarea> alanı oluşturur.
URLField
CharField alanıdır. Fakat URL saklamak için kullanılır.

1 yorum :