Monthly Archives: Haziran 2015

Genel

Django Modellerinde ManyToMany Alanların Belirli Bir Filtreye Göre Limitlenmesi

Sistem genelinde taglayabildiğiniz tüm nesne tipleri ile ilgili tag verilerinin tek bir tabloda tutulduğunu düşünelim. Bu durumda tag kayıtlarını bir şekilde sınıflandırmamız ve ilgili nesnelerin sadece kendisiyle ilgili tipteki taglere sahip olabilmesini sağlamalıyız. Bu yapıyı sağlayabilmek için ManyToManyField tanımlaması yapılırken limit_choice_to parametresi kullanılarak ilişkili tablonun neye göre filtreleneceğini dict olarak tanımlamamız gerekir.

Böylece django admin tarafında da kullanıcının ilgili kaydı editlerken manytomany alanda yalnızca kendisiyle ilgili kayıtları görmesi/seçebilmesi sağlanır.

Aşağıda örnek veri modeli yeralıyor.

from django.db import models


class Tag(models.Model):
    TAG_TYPES = (
        ('article', 'Article'),
        ('video', 'Video'),
    )
    slug = models.SlugField(max_length=50)                                     
    name = models.CharField(max_length=50)   
    tag_type = models.CharField(max_length=30)    


class Article(models.Model):
    slug = models.SlugField(max_length=80)
    title = models.CharField(max_length=80)
    content = models.TextField()
    tags = models.ManyToManyField(Tag, limit_choices_to={'tag_type': 'article'})


class Video(models.Model):
    slug = models.SlugField(max_length=50)
    name = models.CharField(max_length=50)
    url = models.UrlField()
    tags = models.ManyToManyField(Tag, limit_choices_to={'tag_type': 'video'})
Genel

PHPKonf İstanbul Konferansı Geliyor…

phpkonf14Evet ve nihayet beklenen etkinlik haberi geldi. İstanbulPHP topluluğu yaklaşık 8 aydır düzenli olarak WebBox sponsorluğunda İstanbul Şehir Üniversitesi’nde organize ettiği aylık buluşmalardan sonra yeni bir PHP Konferansı etkinliği düzenleyeceğini duyurdu. Güvenlilir kaynaklardan edindiğim bilgiye göre etkinliğin multi-track olacağı ve katılımcıları bir yıl boyunca PHP ye doyacak düzeyde içerikle buluşturacakları yönünde duyumlar aldım. Ben de herkes gibi sabırsızlıkla bu etkinliği bekliyorum.

Bu tarz etkinlikler, geliştiricilerin yeni teknolojilerle tanışması, Türkiye’deki geliştirici topluluklarının gelişimi ve dünyaya tanıtımı konusunda önemli rol oynuyor. Dolayısıyla bu bağlamda gerek organizasyon ekibi, gerekse sponsorluk anlamında elini taşın altına koyan herkese buradan kocaman bir teşekkür etmekte yarar var.

Etkinlikle ilgili gelişmelere http://phpkonf.org adresinden ulaşabilirsiniz.

PHPKonf İstanbul etkinliği 25-26 Temmuz’da Bahçeşehir üniversitesinde PHP geliştiricilerini bekliyor.

Bitti mi ? Bitmed. Ben de 25 Temmuz 17:00 deki “Kaya Gibi Sağlam Yazılım Projelerine İmza Atmanın 5 Prensibi” sunumumla karşınızda olacağım.