Related_Name dalam Django's ManyToManyField and ForeignKey Fields
Rangka kerja Django menawarkan sistem ORM (Object-Relational Mapping) yang mantap dengan membolehkan interaksi yang mudah pangkalan data. Dua jenis medan kritikal dalam ORM Django ialah ManyToManyField dan ForeignKey.
Tujuan Argumen Nama_Berkaitan
Satu aspek penting medan ini ialah hujah related_name. Ia menentukan nama perhubungan dalam arah terbalik, daripada model berkaitan kembali kepada model semasa. Secara lalai, Django secara automatik memberikan nama perhubungan terbalik menggunakan konvensyen penamaan "[related_model_name]_set". Walau bagaimanapun, argumen related_name membenarkan anda menyesuaikan nama ini.
Penggunaan dalam ManyToManyField
Mari kita pertimbangkan kod berikut sebagai contoh:
class Map(db.Model): members = models.ManyToManyField(User, related_name='maps', verbose_name=_('members'))
Dalam kod ini, related_name='maps' menyatakan bahawa dalam model Pengguna, nama hubungan terbalik untuk Model peta akan menjadi "peta".
Faedah Menyesuaikan Nama_Berkaitan
Menyesuaikan nama_berkaitan menawarkan beberapa faedah:
Melumpuhkan Hubungan Ke Belakang
Jika anda ingin melumpuhkan penciptaan hubungan ke belakang sepenuhnya, anda boleh set related_name=' '. Pilihan ini berguna apabila anda tidak memerlukan akses terbalik kepada model yang berkaitan.
Atas ialah kandungan terperinci Bagaimanakah `related_name` Meningkatkan Hubungan ManyToManyField dan ForeignKey Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!