✅ اگه نرمال سازی دیتابیس رو خونده باشید با کلید اصلی و کلید کاندید و … آشنا هستید
بعضی مواقع کلید اصلی میتونه ترکیبی از چند فیلد باشه
یعنی ممکنه جدول ستون id به عنوان کلید اصلی نداشته باشه و به جاش دو یا چند تا فیلد با هم، یک کلید اصلی (primary key) رو ایجاد کنند
✔️ همونطوری که می دونید جنگو جفت کلید رو به صورت مستقیم پشتیبانی نمی کنه
اما برای هندل کردن این موضوع unique_together رو ارائه کرده و ما میتونیم توی مدل ها ازش استفاده کنیم و دو یا چند تا فیلد رو با هم unique کنیم
وقتی دو تا فیلد با هم unique_together میشن دیگه این دو تا ستون با همدیگه تکرار نمیشن. دقیقا همون رفتار جفت کلید اصلی توی دیتابیس هارو داره
برای مطالعه بیشتر در موردش لینکهای زیر رو بخونید:
https://docs.djangoproject.com/en/4.0/ref/models/options/#unique-together
https://gsilvapt.me/posts/django-how-to-properly-modify-unique-together/