
Merhaba arkadaşlar! Bugün hep beraber Django ManyToManyField Kullanımı Nasıldır? ManyToMany Nedir? Bu sorulara cevap vereceğiz.
ManyToManyField Nedir?
Bazı durumlarda birebir ilişkiler işimizi çözemeyebiliyor. ForeignKey birebir ilişki için kullanılır, örneğin bir kullanıcının birden fazla arkadaşı olabilir. Bu tür durumlarda ManyToManyField Kullanımı daha doğru olur. Lakin kullanımı oldukça karmaşıktır. (En azından ben öyle buluyorum -_- ) ManyToManyField İle bir ilişki oluşturduğumuz zaman aslında arka tarafta görünmez bir tablo açılır. Bu tabloda filtreleme, ekleme gibi işlemler yapılır. Bu tablo Django’da model olarak görülmez lakin postgreSQL gibi bir veri tabanı sistemi kullanıyorsanız, Ayrı bir tablo açıldığını fark edeceksiniz.
ManyToManyField Nasıl Kullanılır?
Model tanımlaması için diğerlerinden hiç bir fark yoktur sadece kullanım kısmında bir tablo kullanır gibi kullanmamız gerekmektedir.
ManyToManyField Nasıl Tanımlanır?
class Zone(models.Model):
users = models.ManyToManyField(User, related_name='users', null=True, blank=True)
Bu şekilde tanımlanır, makemigrations ve migrate işlemlerini yapmayı unutmayınız!
ManyToManyField Kullanımı
Dediğim gibi ManyToManyField aslında sanal bir tablodur kullanımda bu şekilde gerçekleşmektedir.
users.objects.all()
users.filter()
users.add()
tarzında kullanımları mevcuttur. Hepsine değinmeyeceğim buraya tıklayarak detaylı anlatımları inceleyebilirsiniz.