Bugün ne öğrendim? 25 Django Modelleri

Bugün çok keyifli bir konuyu öğrendiklerim listesine ekledim. Modeller
bizim veritabanımızı oluşturmamızı ve şekil vermemizi sağlayan Python dosyasıdır.

Herhangi bir web sitesinin temel bir parçası, bir kullanıcıdan bir bilgiyi kabul etme ve bir veritabanına girme ve bir veri tabanından bilgi alma ve onu kullanıcı için içerik üretmek için kullanma yeteneğidir.

Django, SQLite ile donatılmış olarak geliyor.

Settings.py dosyasında VERİTABANLARI için kullanılan ENGINE parametresini düzenleyebilirsiniz.
Gerçek bir model oluşturmak için, ilgili uygulama models.py dosyasının içinde bir sınıf yapısı kullanıyoruz.
Bu sınıf nesnesi, Django’nun yerleşik sınıfının bir alt sınıfı olacaktır:
django.db.models.Model
Sonra sınıfın her bir niteliği, SQL’deki sınırlamaları olan bir sütun adı gibi bir alanı temsil eder.
Bazı SQL deneyimleriniz varsa bu çok doğal olacaktır, ancak bir SQL veritabanının nasıl olduğunu hızlı bir şekilde gözden geçirmenize izin vermemeniz durumunda!
SQL, her bir sütunu bir alanı, her bir satırı bir girdiyi temsil edecek şekilde dev bir tablo gibi işler.
Her sütun, CharField, IntegerField, DateField vb. Gibi bir alan türüne sahiptir.
Her alanın da kısıtlamaları olabilir
Örneğin, bir CharField izin verilen maksimum karakter sayısını belirten bir max_length kısıtlamaya sahip olmalıdır
Unutulmaması gereken son şey tablo (veya model) ilişkileridir.
Genellikle modeller birbirlerine referans verecek
Bu referans için çalışmak için Foreign Key ve Primary Key kavramlarını kullanırız.

Şimdi biraz migration(göç) kavramı üzerinde durmak istiyorum.

Migration, Django’nun modellerinizde yaptığınız değişiklikleri (bir alan ekleyerek, bir modeli silerek vb.) Veritabanı şemanıza yayma yöntemidir. Çoğunlukla otomatik olacak şekilde tasarlanmıştır, ancak ne zaman geçiş yapacağınızı, ne zaman çalıştıracağınızı ve karşılaşabileceğiniz genel sorunları bilmeniz gerekir.

Migration yapmak için bilmemiz gereken bazı komutlar var.

migrate Bu, göçlerin uygulanmasından ve uygulanmasından sorumludur.

makemigration modelinizde yaptığınız değişikliklere dayanarak yeni geçişler oluşturmaktan sorumludur.

sqlmigrate bir geçiş için SQL ifadelerini görüntüler.

showmigration göç işleminde yapılanları ve anlık durumu gösterir.

Şimdi bir örneği inceleyelim.

Models.py

class Topic(models.Model):
    top_name = models.CharField(max_length=264, unique=True)
#Bu sayısal bir değer maksimum 264 karakter uzunluğunda olabilir ve eşsizdir.
class Webpage(models.Model):
    category = models.ForeignKey(Topic)
name = models.CharField(max_length=264)
    url = models.URLField()
    
#category bir foreign key yani başka bir tablo ile bağlantılı.
#name bir text alanı
# url ise bir url alanı olarak tasarlanmış.

 


Tebrikler ilk migration’umuzu yaptık bununla beraber artık bir veri tabanımız var.

Şimdi bu değişikleri admin sayfasına haber vermeliyiz. Böylelikle admin sayfamızda bu alanları kullanabilelim.

admin.py

from django.contrib import admin
   from app.models import Model1,Model2
    admin.site.register(Model1)
    admin.site.register(Model2)

Şimdi bir çalıştırıp bakalım.

localhost adresinin yanına /admin yazmanız gerek.

http://127.0.0.1:8000/admin/login/?next=/admin/

Ooops! peki bizim kullanıcı adımız ne?

Böyle birşey oluşturmadık şuana kadar şimdi, bir kullanıcı oluşturmalıyız. Bu kullanıcı öyle bir kullanıcı olmalı ki herşeye yetkisi olmalı.

python manage.py createsuperuser

Taaa daa! karşınızda herşeye yetkili bir süper kullanıcı. Gerekli bilgileri doldurmayı lütfen unutmayalım.

Beni bugünlük anlatacaklarım bu kadar bir sonrakl yazıda görüşmek üzere!

Bugün ne öğrendim? 25 Django Modelleri” üzerine bir yorum

  1. chiasetinhot.com dedi ki:

    Excellent post. I used to be checking constantly this weblog and I’m impressed!
    Extremely useful info particularly the final phase :
    ) I maintain such info a lot. I used to be seeking this particular info for a very lengthy time.
    Thank you and good luck.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s