{"version":"1.0","provider_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","provider_url":"https:\/\/fatihsoysal.com\/blog","author_name":"Fatih Soysal","author_url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/","title":"Django Many-to-Many \u0130li\u015fkilerde Arac\u0131 Modellerin G\u00fcc\u00fc","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"beeotkkUgN\"><a href=\"https:\/\/fatihsoysal.com\/blog\/django-many-to-many-iliskilerde-araci-modellerin-gucu\/\">Django Many-to-Many \u0130li\u015fkilerde Arac\u0131 Modellerin G\u00fcc\u00fc<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/fatihsoysal.com\/blog\/django-many-to-many-iliskilerde-araci-modellerin-gucu\/embed\/#?secret=beeotkkUgN\" width=\"600\" height=\"338\" title=\"&#8220;Django Many-to-Many \u0130li\u015fkilerde Arac\u0131 Modellerin G\u00fcc\u00fc&#8221; &#8212; Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" data-secret=\"beeotkkUgN\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","description":"Django'da veritaban\u0131 ili\u015fkileri kurarken s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir senaryo, iki model aras\u0131nda \u00e7oktan \u00e7o\u011fa (Many-to-Many) bir ba\u011f kurmakt\u0131r. Ancak bazen bu ili\u015fkinin kendisine ait ek bilgiler depolamak isteriz. \u0130\u015fte tam da bu noktada, arac\u0131 modeller (intermediate models) veya di\u011fer ad\u0131yla through modelleri devreye girer. Bu makale, Django'da \u00e7oktan \u00e7o\u011fa ili\u015fkilerde arac\u0131 modellerin ne i\u015fe yarad\u0131\u011f\u0131n\u0131, ne zaman kullan\u0131lmas\u0131 gerekti\u011fini ve nas\u0131l etkin bir \u015fekilde uygulanaca\u011f\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r."}