İçereği Atla

ORM (Nesne-İlişkisel Eşleme)

5 Mart 2026 yazan
ORM (Nesne-İlişkisel Eşleme)
Administrator
| henüz yorum yok

Odoo ORM (Nesne-İlişkisel Eşleme), veritabanıyla etkileşim kurmanın ve Odoo platformunda veritabanı işlemleri gerçekleştirmenin bir yoludur. ORM, veritabanı işlemlerine nesne yönelimli programlama (OOP) ilkelerini uygulayarak veritabanı tablolarını Python nesneleri olarak temsil eder. Bu, veritabanı işlemlerini daha programlanabilir ve okunabilir hale getirir ve geliştiricilere veritabanı işlemlerini yönetmek için daha kolay bir yol sağlar.

İşte Odoo ORM'nin temel kavramları ve işleyişleri:

  1. Model
    Bir model, bir veritabanı tablosunu temsil eden bir Python sınıfıdır. Odoo'daki her modül bir veya daha fazla model içerir. Bu modeller veritabanındaki tabloları oluşturur ve yönetir. Aşağıda basit bir model örneği verilmiştir:
    from odoo import models, fields

    class Customer(models.Model):
    _name = 'res.partner'
    _inherit = 'res.partner'

    # Custom fields
    is_company = fields.Boolean(string='Is a Company', default=False)
    customer_code = fields.Char(string='Customer Code')
  2. Field
    Field (alan), bir modeldeki verilerin türlerini ve davranışlarını tanımlar. Alanlar, bir veritabanı tablosundaki sütunları temsil eder. Örneğin, bir müşteri modelinde, "isim", "e-posta" ve "telefon" gibi alanlar tanımlanabilir:
  3. Record
    Bir kayıt, bir modelin belirli bir veritabanı girişini temsil eder. Her kayıt, model tarafından tanımlanan alanlar için veri içerir. Örneğin, bir Müşteri kaydı aşağıdaki şekilde oluşturulabilir:
    new_customer = self.env['res.partner'].create({
    'name': 'John Doe',
    'email': '[email protected]',
    'phone': '123456789'
    })
  4. Domain and Context
    • Domain : Veritabanı kayıtlarını belirli koşullara göre filtrelemek için kullanılır. Örneğin, kayıtları bir alanın değerine göre filtrelemek:
      domain = [('is_company', '=', True)]
      companies =
      self.env['res.partner'].search(domain)
    • Context : İşlemlerin davranışını belirtmek için kullanılır. Örneğin, bağlamı kullanarak kullanıcının dilini veya diğer ayarları ayarlamak:
      context = {'lang': 'en_US'}
      products =
      self.env['product.product'].with_context(context).search([])
  5. CRUD İşlemleri (Create, Read, Update, Delete)
    • Create : Yeni bir kayıt oluşturma:
      new_customer = self.env['res.partner'].create({
      'name': 'Jane Doe',
      'email': '[email protected]' })
    • Read : Kayıtları Okuma:
      customer = self.env['res.partner'].browse(1)
      print(customer.name)
    • Update : Kayıtları Güncelleme:
      customer.write({'email': '[email protected]'})                      
    • Delete: Kayıtları Silme:
      customer.unlink()                              


Sonuç

Odoo ORM, geliştiricilere veritabanı işlemlerini yönetmede esneklik ve kolaylık sağlar. Bu, uygulamaların hızlı bir şekilde geliştirilmesini ve özelleştirilmesini kolaylaştırır. ORM kullanılarak, veritabanı işlemleri Python koduyla daha net ve sürdürülebilir bir şekilde yönetilir.

ORM (Nesne-İlişkisel Eşleme)
Administrator 5 Mart 2026
Bu gönderiyi paylaş
Etiketler
Arşivle
Giriş to leave a comment